【发布时间】:2012-04-22 20:53:08
【问题描述】:
在 CS 课上,我们使用名为 greenfoot 的程序制作了一个简单的游戏。如果你熟悉的话,这个游戏很像“Frogger”游戏。我现在正在自己练习,想做一个类似的游戏。我的新游戏会有点接近吃豆人。我在控制需要到达屏幕顶部的火箭飞船之前制作的游戏。同时,我为墙壁弹跳的矩形随机选择了尺寸和速度。但是,我想让我的新游戏更有趣。我想要这些对象的循环,当它第一次符合时创建一个随机方向,然后墙壁反弹并继续朝那个方向前进,就像那个著名的屏幕保护程序反弹一样。这是我第一个游戏的代码,是这样的吗? 所以最终我的问题是,如何为随机方向编写循环。
public boolean canMoveRight()
{
if ( getX() + 1 < getWorld().getWidth() )
return true;
else
return false;
}
public boolean canMoveLeft()
{
if ( getX() - 1 > 0 )
return true;
else
return false;
}
public void moveRight()
{
setLocation( getX() + speed, getY() );
}
public void moveLeft()
{
setLocation ( getX() - speed, getY() );
}
public void act()
{
if (right==true)
{
if (canMoveRight() )
{
moveRight();
}
else
{
right = false;
}
}
else
{
if( canMoveLeft() )
moveLeft();
else
right = true;
}
}
【问题讨论】:
-
它有效吗?有什么问题?
-
是的,这适用于我的第一场比赛。但是,我想要一个随机的新循环,而不是从左边开始,每次都向右。
-
这可能有点无关,但我相信这接近于口袋妖怪风格的游戏玩法。您最好为瓷砖设置碰撞标志。这将启用动态区域。
-
嗯,好的。我对 Java 还很陌生,我认为我还没有了解碰撞标志。
标签: java loops boolean greenfoot