:打印一个以文本形式筛选的扫雷板。请记住,印刷板应反映已经揭示了哪些单元格。 Reveal Cell(Int Row,Int Col,Boolean [] [] []游戏板,char [] []答案板)
:当要显示一个单元格时,同时还要确定如何揭示周围的空白时,适当修改状态数组根据扫雷规则的空间。然后我们必须编写一个主要的游戏循环,该循环在检查播放器是否赢得还是输了。 我已经完成了印刷板和揭示单元格的方法,我只需要制作游戏板和游戏循环即可进行测试。
我们不允许在Java.lang外使用类或模块(请勿导入任何库)。 我的代码是我的代码:
public static void main(String[] args) {
char[][]answerboard= {{'B', '1', '0', '1', 'B'},
{'1', '1', '1', '2', '1'},
{'0', '1', 'B', '2', '1'},
{'1', '1', '1', '2', 'B'},
{'B', '1', '0', '1', '1'}};
// Initialized answer board: This is the board that shows what is inside each cell. I need to create a second 2d array representation that shows which cells have been revealed.
int row , col ;
for (row = 0; row < answerboard.length; row++){
for (col = 0; col < answerboard[1].length; col++)
System.out.print(answerboard[row][col]);
System.out.println();
}
}
public static void printBoard(char[][] board, boolean[][] isRevealed)
{
for(int i=0; i < board.length; i++)
{
for(int j=0; j<=board[0].length; j++)
{
if(isRevealed[i][j]=true)
System.out.print(board[i][j]+" ");//prints hidden char
else
if(isRevealed[i][j]= false)
System.out.print("- ");
}
System.out.println(" ");
}
}
public static void revealCell(int row, int col, boolean[][] gameboard, char[][]answersboard) {
System.out.println(row + " " + col);
if(row < 0|| row >=answersboard.length ||col < 0|| col > answersboard[0].length){
System.out.println("bad input");
return;
}
if(answersboard[row][col] == 'B'){
gameboard[row][col] = answersboard[row][col];
return;
}
if(answersboard[row][col] == '1'||answersboard[row][col] == '2'){
gameboard[row][col] = answersboard[row][col];
return;
}
if(answersboard[row][col] == '0'){
gameboard[row][col] = answersboard[row][col];
for(int i = row-1; i <= row +1; i++){
for(int j = col-1; j<= col +1;j++){
revealCell(i,j, gameboard, answersboard);
}
}
}
}
真的不确定您的问题是什么...是的,看起来不像您问一个。 只是一个建议,也许是一个很好的主意,并使这些班级都是公共非静态方法。老师总是喜欢看到一年级的学生可以处理对象的编程,并能够摆脱课程。
另外,您可能不应该在方法中使用
MineSweeperBoard
东西,这些内容应该在游戏板状态下工作。这正在创造副作用,并破坏每个方法想法的一个任务。宁愿有任何方法处理输入/输出的任何方法决定在调用此方法之前该输入是否合适。理想情况下,您将拥有这些方法,如果某人确实为方法提供了不良数据,但是您可能还没有介绍。
运气在您的项目其余部分和考试中!