2Dchar阵列扫雷游戏循环

问题描述 投票:0回答:0
PRINT板(char [] []板,布尔值[] [])

:打印一个以文本形式筛选的扫雷板。请记住,印刷板应反映已经揭示了哪些单元格。 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

东西,这些内容应该在游戏板状态下工作。这正在创造副作用,并破坏每个方法想法的一个任务。宁愿有任何方法处理输入/输出的任何方法决定在调用此方法之前该输入是否合适。理想情况下,您将拥有这些方法,如果某人确实为方法提供了不良数据,但是您可能还没有介绍。

运气在您的项目其余部分和考试中!

java text char multidimensional-array minesweeper
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.