我试图在gridworld中做一个简单的游戏,你的船经过一个小行星带。小行星带应该有一个空的空间在它每次生成。我有一个方法称为nextAsteroidField(),创建这个带我的实现是这样的
public static void nextAsteroidField()
{
int randNum = (int)(Math.random()*15)+1;
for(int i = 1; i < 16; i++)
{
if(i == randNum)
{
}
else
world.add(new Location(0, i), new Asteroid());
}
}
该方法必须是静态的,因为当创建第一个小行星带时,它是从类的main调用的。
第一次调用此方法时,它会创建预期的空间。每次前一行小行星进入网格底部时,我都会调用此方法。第二次和之后的每隔一次都没有间隙。
2条答案
按热度按时间34gzjxbg1#
尝试使用Random类:
t98cgbkg2#
如果你第一次调用
nextAsteroidField()
就可以了,但第二次(或第三次......)就不行了,那么我认为你的问题是,你没有把小行星从你的世界中移除。将您的方法更改为如下所示: