Я получаю странный сбой при попытке сделать ИИ для весла понг

1

Я делаю игру для понга для MiniLD, используя Slick2d (и, следовательно, java), но когда я пытаюсь сделать ИИ, это не сработает. Я получаю лопасть, мерцающую между двумя позициями. Мне нужна помощь. Вот код, который я использую.

static int maxSpeed = 3;

(...)

float ypos = ball.getCenterY() - (paddleCPU.getY() + maxSpeed);
paddleCPU.setY(ypos);
  • 0
    Вам нужно показать больше кода.
  • 0
    Я думаю, что это все, что нужно. Что вы хотите увидеть?
Показать ещё 3 комментария
Теги:
artificial-intelligence
pong
slick2d

1 ответ

1

Возможно, попытайтесь фактически ограничить скорость изменения y до -maxSpeed и +maxSpeed:

float dy = ball.getCenterY() - paddleCPU.getY());
dy = Math.max(-maxSpeed, Math.min(maxSpeed, dy));
paddleCPU.setY(paddleCPU.getY() + dy);
  • 0
    Я думаю, что это делает его непобедимым (хотя я и пытался, хотя я и ужасен в понге, поэтому не могу сказать: P)
  • 0
    maxSpeed , я установил maxSpeed на 0,8, и теперь это работает. Не слишком быстро, но не слишком медленно. Просто отлично;)
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню