我遇到了我們應該爲我的java類創建的Ping Pong程序的問題。我們正在給文件,它需要編輯。它的自動乒乓遊戲,所以它需要任何輸入,這一切偶然由計算機。我只需要槳就可以上下。我已經得到它移動和一切。修復Ping Pong程序的Y軸運動
這裏我的問題是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
}
您的代碼沒有多大意義。當你可以設置'paddleLocation = 20'時,爲什麼你有一個do/while循環?它做同樣的事情。與下面的一樣。 edgeCheck()應該做什麼?它只在右邊緣返回true ... – sachleen