0

所以,这是一个任务,进展顺利,我似乎无法超越这部分,我必须将它设置为只添加 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);
    }




    }   

}

4

1 回答 1

0

不,Math.random()专门设计用于产生不可预测的结果。

于 2013-11-02T03:59:16.747 回答