3维Tic Tac Toe仅打印一个尺寸

时间:2016-11-08 05:33:47

标签: java

我正在开始制作3D tic tac toe游戏的程序,并且遇到了一些问题。该游戏应该是4x4x4。我不确定为什么没有打印多个尺寸,我也不确定为什么我输入的值没有出现在显示的一个级别上。代码如下。任何帮助都是极好的。谢谢!

 public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        int draw = 64;
        int n = 0;

        int board[][][] = new int[4][4][4];
        while (n < draw) {
        System.out.println("Type your move as one three digit number(lrc)");
        int input = scan.nextInt();
        int level = input / 100;
        int row = input % 100 / 10;
        int column = input % 10;
        System.out.println(level);
        System.out.println(row);
        System.out.println(column);

            board[level][row][column] = 1;


            for (int i = 3; i >= 0; i--) { //level

                for (int h = 3; h >= 0; h--) { //row

                    for (int temp = h; temp >= 0; temp--) {
                        System.out.print(" ");
                    }

                    System.out.print(i + "" + h + "  ");

                    for (int j = 0; j <= 3; j++) { //column

                        if (board[i][h][j] == 0) {
                            System.out.print("_ ");
                        }
                        if (board[i][h][j] == 1) {
                            System.out.print("X ");
                            n++;
                        }
                        if (board[i][h][j] == 5) {
                            System.out.print("O ");
                            n++;
                        }
                    }

                    System.out.println();

                }
                System.out.println();
            }
            System.out.println("\n   0 1 2 3");
        }
    }
}

1 个答案:

答案 0 :(得分:0)

在这一行

 for (int temp = h; h > 0; h--) {

您正在递减h而非temp,因此在下面的循环中,h的值始终为1

此更改后

更改for (int temp = h; temp >= 0; temp--) { System.out.println(" "); }

简单地System.out.println(" ");