好吧,我有這個遊戲循環永不終止 -計數器不遞減或不
public void run() {
setup();
addMouseListeners();
int Turns = NTURNS;
int TotalBricks = NBRICKS_PER_ROW * NBRICK_ROWS;
while ((Turns>0) && (TotalBricks>0)) {
moveBall();
checkForCollision();
pause(DELAY);
}
System.exit(0);
}
- 即使我有這個方法每一個球是時間遞減的匝數值錯過:
private void checkForCollision() {
GObject collider = getCollidingObject();
if (collider !=null) {
if (collider == Paddle) {
vy= -vy;
}
else {
vy= -vy;
remove(collider);
TotalBricks = TotalBricks - 1;
}
}
if((ball.getX()>=(WIDTH-BALL_RADIUS)) || (ball.getX()<=0)) {
vx = -vx;
}
if(ball.getY()<=0) {
vy = -vy;
}
if(ball.getY()>=HEIGHT) {
Turns = Turns -1;
remove(ball);
newBall();
}
}
加上這個
private int Turns;
在底部,以確保變量是共享上午兩種方法。 無論球失誤多少次,比賽都不會停止。 我錯過了什麼? Thx
就像一個小紙條,它總是一個好主意,接受的答案,讓其他人知道正確的解決方案! :) – ardent 2012-07-25 01:00:50