所以基本上我正试图为扫雷游戏制作9x9网格。我需要用填充问号的网格来表示尚未选择的雷区。 例如:[?] [?] [?] [?] [?] 基本上我的问题是如何让我的程序输出像这样的问号数组?
import java.util.Scanner;
import java.util.Arrays;
public class H4_Minesweeper {
public static void main(String[] args) {
//Game Description and rules
System.out.println("Minesweeper is a very straightforward game, the rules are simple.");
System.out.println("Uncover a mine (x), and the game ends. Uncover an empty square (o), and you keep playing.");
System.out.println("A question mark (?) will represent tiles you have not uncovered yet.");
System.out.println("Uncover a number, and it tells you how many mines lay hidden in the eight surrounding squares.");
System.out.println("Use this information to carefully choose which squares to click.");
System.out.println("\n\n\n");
Scanner userin;
String[][] board = new String [9][9];
for (int r = 0; r<board.length;r++){
for (int c = 0; c <board.length;c++){
}
}
}
}
答案 0 :(得分:1)
首先,您必须通过将所有元素设置为"?"
来初始化数组:
String[][] board = new String [9][9];
for (int r = 0; r<board.length;r++){
for (int c = 0; c <board.length;c++){
board[r][c] = "?";
}
}
然后你可以打印出来:
for (int r = 0; r<board.length;r++){
for (int c = 0; c <board.length;c++){
System.out.print (board[r][c] + " ");
}
System.out.println();
}
答案 1 :(得分:0)
这应该这样做。
for (int r = 0; r<board.length;r++){
for (int c = 0; c <board.length;c++){
board[r][c] = "?"; // Initialize the cell
System.out.print("[" +board[r][c] + "]"); // Display the content of cell board
}
System.out.println(); // go to next line
}
答案 2 :(得分:0)
用字符串“?”填充你的2d数组对于每个网格空间,然后逐行打印出每个数组索引的值
填充数组:
String[][] board = new String[9][9];
for(int y=0;y<9;y++){
for(int x=0;x<9;x++){
board[x][y] = "?";
}
}
显示行:
for (int r = 0; r<9;r++){
String line = "";
for (int c = 0; c <9;c++){
line+="["+board[c][r]+"]";
}
System.out.println(line);
}