我正在尝试在网格世界中制作一个简单的游戏,你的船穿过和星带。小行星带每次生成时都应该有一个空白区域。我有一个名为 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());
}
}
该方法必须是静态的,因为当创建第一个小行星带时,它是从类的主函数中调用的。
第一次调用此方法时,它会按预期创建空间。每当前一行小行星落入网格底部时,我都会调用此方法。第二次和以后的每一次都没有间隙。
最佳答案
尝试使用 Random 类:
import java.util.Random;
public class Main{
static Random rnd = new Random();
public static void main( String[] args ){
int randNum = rnd.nextInt( 16 )+1;
for( int i = 0; i < 16; i++ )
if( i != randNum )
System.out.print("*");
else
System.out.print(" ");
}
}
关于java - 在静态方法中创建新的随机数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16751862/