我需要检查2d数组是否已满以及它是否是拉丁方格。我有两种方法来检查这两种情况,但是当我将检查放入do while循环中时,它不会进行检查。如果棋盘已满,我希望游戏停止,然后继续检查是否为拉丁方块。我将其设置为它检查数组中的空元素的位置。这是全板检查的代码。
a maxA
0 1,2 2
1 3 3
2 -1 -1
3 8,9,1 9
这是do while的代码:
public static boolean fullBoard(char [][] square){
for(int i = 0; i < square.length; i++){
for(int j = 0; j < square.length; j++){
if(square[i][j] == 0) {
return false;
}
}
}
return true;
}
答案 0 :(得分:0)
好吧,我不确定是否了解所有内容,但我会尽力提供帮助。
当我看着你的时间时,我可以看到
if(fullBoard(square)) {
isLatinSquare(square);
是没有用的。方法isLatinSquare返回布尔值。您甚至都不使用它的返回值。
如果您希望游戏在游戏满员且恐慌程度为拉丁时结束:
do {
promptUser(square);
printBoard(square);
}
while(isLatinSquare(square) && fullBoard(square));
System.out.println("you win");
printBoard(square);
}
如果您想在游戏已满时暂时停止游戏:
do {
promptUser(square);
printBoard(square);
if(fullBoard(square)) {
Thread.sleep(2000); //2 sec pause
}
}
while(isLatinSquare(square));
System.out.println("you win");
printBoard(square);
答案 1 :(得分:0)
你能这样尝试吗
minimumPosition