我在为我的 java 类制作的乒乓球程序上遇到问题。我们正在提供文件,它需要编辑。它和自动乒乓球游戏一样,所以它确实需要任何输入,这一切都是计算机偶然发生的。我只需要桨上下。我已经让它动起来了。
我的问题是 Y 范围是从 20 - 465。它从 465 倒数到 20,然后不是从 20 倒数到 465,而是一直跳到 465 并从 20 倒数,从而使垫从底部到顶部消失得很快。我将附上这个项目,以防有人想帮我检查一下。
我不只是在找人来帮助我弄清楚为什么它会跳跃而不是计数。如果问题可以单独解决,这里是代码。我正在使用 edgeCheck 和 Update 方法。
import java.awt.Point;
import javax.swing.ImageIcon;
public class CharlesPaddle extends Paddle {
/************************************************** ***************/
public CharlesPaddle(int _x) {
super(_x);
ImageIcon iiPaddle = new ImageIcon(this.getClass().getResource("paddle.png"));
paddleImage = iiPaddle.getImage();
} //end CharlesPaddle
/************************************************** ***************/
public void update() {
if (edgeCheck() == false)
do {
paddleLocation.y -= 1;
System.out.println(paddleLocation.y);
}
while (paddleLocation.y >= 21);
else if (edgeCheck() == true)
do {
paddleLocation.y += 1;
}
while (paddleLocation.y <= 465);
} //end update
/************************************************** ***************/
public void init() {
paddleLocation = new Point();
paddleVector = new Point();
paddleVector.x = 0;
paddleVector.y = speed;
paddleLocation.x = xLocation;
paddleLocation.y = 200;
} //End init
/************************************************** ***************/
public boolean edgeCheck()
{
boolean check = false;
if (paddleLocation.y >= 465)
check = false;
else if (paddleLocation.y <= 20)
check = true;
return check;
} // End edgeCheck
}