所以,这是一个任务,进展顺利,我似乎无法超越这部分,我必须将它设置为只添加 4 个 X 和 5 个 O。我一直在尝试一些选项,但我想我会在这里转储到目前为止实际工作的代码,如果有人愿意提供帮助,我将不胜感激。
“编写一个模拟井字游戏的程序,并指示玩家是否获胜,以及谁获胜。程序应该: • 声明并使用大小为 [3,3] 的 int 数组来表示井字游戏脚趾网格
• 用-1 或+1 填充数组中的每个位置,如下所示
• 4 'X' 由 -1 表示
• 5 'O' 表示为 +1
• 显示网格
• 评估并指出使用“X”的玩家是否获胜。
• 评估并指出使用“O”的玩家是否获胜。
程序必须至少实现和使用以下方法:
• public static void fillGridWithRandomValues(int[][] grid) o 接收一个数组并用随机选择的-1和1填充
• public static void printGrid(int[][] grid) o 在屏幕上显示网格
• public static boolean evaluateWinner(int[][] grid, int value) o 如果在同一行、同一列或同一对角线上至少有3 个位置包含参数“value”,则返回true。否则返回 false"
这是实际的代码。
包 123456;
/** * * @author 123456 */ public class 123456 {
/**
* @param args the command line arguments
*/
public static void fillGridWithRandomValues(int[][] grid) {
for (int row=0; row < grid.length; row++) {
for (int column=0; column < grid[row].length; column++) {
grid[row][column] = (int) (((Math.random()*2)*2)-2);
if (grid[row][column] == 0) grid[row][column]++;
}
};
}
public static boolean evaluateWinner(int[][] grid, int value) {
return false;
}
public static void printGrid(int[] row) {
for (int i : row) {
String str = null;
if (i == 1) str = "X";
else if (i == -1) str = "O";
else str = null ;
System.out.print(str + " ");
System.out.print(" ");
}
System.out.println();
}
public static void main(String[] args) {
// creating array for the grid
int[][] grid ;//= { { 1, -1, 1 }, { -1, 1, -1 }, { 1, -1, } };
grid = new int[3][3];
fillGridWithRandomValues(grid);
for(int[] row : grid) {
printGrid(row);
}
}
}