你需要调用nextInt
每次电脑播放的下一个方法,来重新生成一个随机数。
您目前拥有的内容将为该列生成一个随机数,但您从不更新它。因此,对于每一款新游戏,电脑只能在同一个“随机”栏中播放。
比方说,你有一个方法computerTurn()
,你每次打电话时都会打电话。所以这样的事情。
void computerTurn(){
int col = rnd.nextInt(7);
placeInCol(compute, col);
}
请注意,您将必须检查您是否可以在列中播放。所以处理这个问题的最好方法是创建一个包含可用列的列表。
List<Integer> columnsAvailable = new ArrayList<>(Arrays.asList(1,2,3,4,5,6));
现在看起来这样的事情:
void computerTurn(){
int index = rnd.nextInt(columnsAvailable.size());
int col = columnsAvailable.get(index);
if(isAvailableCol(col)){
placeInCol(computer, col);
} else {
columnsAvailable.remove(index);
//get a new random column here.
}
}
如何每次调用nextint?如何更新列? – user3481879
@ user3481879每次您想要一个新的随机数时,在您的随机对象上调用nextInt。 –
非常感谢::) @邹邹 – user3481879