我正在尝试重新创建 pong,但遇到了一个我无法弄清楚的错误。
到目前为止,我已经让桨和球在大多数情况下显示和移动我想要的方式,但我似乎无法让球初始化在随机方向上移动。
这是设置球方向的代码
if(inGame == true)
{
double start = -1;
double end = 1;
Random xRand = new Random();
double xResult = start + (end - start) * xRand.nextDouble();
Random yRand = new Random();
double yResult = start + (end - start) * yRand.nextDouble();
System.out.println("xRand: " + xResult);
System.out.println("yRand: " + yResult);
ball.setMove(xResult, yResult);
}
这是我的 setMove 方法
public void setMove(double x, double y){
dx = x;
dy = y;
}
这是移动球的实际方法
public void move(){
x += dx;
y += dy;
}
在此方法中连续调用
public void actionPerformed(ActionEvent e) {
repaint();
paddle.move();
ball.move();
}
使用我当前的代码,球基本上只会朝三个方向移动:上、左上或左。我已经包含了给出随机数的打印行,但似乎它可能正在对数字进行四舍五入,因为它只在三个方向上进行。
由于它前进的方向,它似乎不适用于正数,而且,当两个随机生成的数字都是正数时,它根本不会移动。
任何帮助将不胜感激,谢谢