我是一個基本的計算機科學學生選修介紹到基本的計算機科學。現在我們正在研究一年結束的項目,這是一個使用java的基於文本的掃雷遊戲。對於第一部分,我們假定,使5×5的掃雷板的表示,爲2 d char數組和手動添加彈位置,然後更新指示相鄰bombs.Then我們創建板,將代表的第二表示的數字無論細胞是否已被揭示。二維字符數組的掃雷遊戲循環
之後,我們需要編寫以下方法:
印刷電路板(的char [] []板,布爾[] []顯露):打印掃雷板篩選文本形式。請記住,印刷電路板應該反映哪些細胞已經被揭示。
揭示細胞(INT行,INT山口,布爾[] []的遊戲板,CHAR [] []的答案板):適當地修改該狀態陣列時的細胞是同時還確定如何揭示要顯現根據掃雷規則周圍的空白處。
然後,我們必須寫一個遊戲主循環,即整合了這兩種方法,同時檢查,看看如果玩家贏了還是輸。
我已經做了印刷板和顯示單元的方法,我只是需要做一個遊戲板和遊戲循環進行測試。
我們不會大聲地在java.lang之外使用類或模塊(不要導入任何庫)。
這裏是我的代碼:
公共靜態無效的主要(字串[] 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);
}
}
}
}
我想要做的是將我的初始板,第二個顯示的狀態表示和打印板和顯示單元方法合併到遊戲循環中,該循環詢問用戶要顯示的單元格的座標並檢查看看玩家是贏了還是輸了。但我無法弄清楚。 – user2292794 2013-04-21 05:35:43