Codea / Lua pong игра CPU неточности противника
Недавно я разработал и запрограммировал игру в понг на языке луа (кодеа); где вы можете играть в мультиплеере и в одиночной игре, где вы играете против процессора.
Моя проблема, я могу иметь процессор, чтобы играть идеально bat_cpu = ball_y
но это не сделало бы игру веселой.
Поэтому я сделал простую систему неточностей, чтобы вычислить, куда мяч попадет в бит процессора:
bat_cpu = ball_y + inaccuracy
Где неточность определяется ранее как:
inaccuracy = math.random(-40,40)
Но летучая мышь по-прежнему точно следует за ball_y, и я хочу, чтобы она делала ошибки и не была такой быстрой.
Кто-нибудь знает, как имитировать процессорную биту, чтобы она допускала некоторые ошибки (на высокой скорости, точности и т. Д.)
1 ответ
Вы не упоминаете, когда применяется этот расчет, но, скорее всего, он будет сделан для каждого кадра. Это означает, что вы, вероятно, применяете эти неточности, но они так часто меняются в районе 0, что означает, что вы просто не видите эффекта.
Вы можете сместить ваш случайный расчет за удар: например, bias = math.random(-20, 20)
а потом inaccuracy = bias + math.random(-40, 40)
; вы тогда сбросите bias
на каждом ударе.
Вы также можете перемещать цель: вычислить, где должно произойти попадание для ЦП, и они будут перемещать эту цель случайным образом. Для каждого кадра вам нужно будет интерполировать, основываясь на положении шара, где вы хотите, чтобы ваша летучая мышь была, и поскольку цель летучей мыши неверна, ее подход к цели также будет неточным, как вы хотите.