【发布时间】:2015-04-09 01:31:16
【问题描述】:
我正在尝试编写一个游戏,其中一个球生成三个回合,如果球越过屏幕底部,则回合结束。
下面是我编写的课程,我可以让球移动,但是当它移过屏幕底部时,球不会像我预期的那样在屏幕中间重新生成。
抱歉,如果这个问题是初步的,但我已经研究了一段时间,似乎卡住了。
private void initiateBall() {
double bx = (WIDTH / 2) - BALL_RADIUS;
double by = (HEIGHT / 2) - BALL_RADIUS;
GOval ball = new GOval(bx, by,BALL_RADIUS, BALL_RADIUS);
ball.setFilled(true);
ball.setColor(Color.BLACK);
vx = rgen.nextDouble(1.0, 1.2);
if (rgen.nextBoolean(0.5)) vx = -vx;
vy = 3.0;
for (int i = 0; i <= NTURNS; i++) {
add (ball);
while (ball.getY() < HEIGHT && ball.getX() < HEIGHT) {
ball.move(vx, vy);
pause(DELAY);
}
}
【问题讨论】:
-
我们需要
move和pause方法的内容。 -
嗯...您的代码中打开的花括号比关闭的要多...
-
您是否暂时缺少花括号
}? -
另外,您的 while 循环条件错误。 X 坐标应与 WIDTH 进行比较。此外,while 大括号没有结束。
标签: java for-loop while-loop