我正在开始制作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");
}
}
}
答案 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(" ");