我正在使用Slick2d(和Java)为MiniLD制作乒乓游戏,但是当我尝试制作AI时,它将无法正常工作。我在两个位置之间摇动。我需要帮助。这是我使用的代码。

static int maxSpeed = 3;

(...)

float ypos = ball.getCenterY() - (paddleCPU.getY() + maxSpeed);
paddleCPU.setY(ypos);

最佳答案

也许尝试实际将y的变化率限制在-maxSpeed和+ maxSpeed之间:

float dy = ball.getCenterY() - paddleCPU.getY());
dy = Math.max(-maxSpeed, Math.min(maxSpeed, dy));
paddleCPU.setY(paddleCPU.getY() + dy);

07-24 09:22