java扫雷游戏的随机布雷程序
时间: 2023-05-30 13:01:23 浏览: 105
以下是一个简单的Java扫雷游戏随机布雷程序:
```
import java.util.*;
public class MineSweeper {
private int[][] board;
private int size;
private int numMines;
private Random rand;
public MineSweeper(int size, int numMines) {
this.size = size;
this.numMines = numMines;
board = new int[size][size];
rand = new Random();
// randomly place mines
int minesPlaced = 0;
while (minesPlaced < numMines) {
int row = rand.nextInt(size);
int col = rand.nextInt(size);
if (board[row][col] != -1) {
board[row][col] = -1;
minesPlaced++;
}
}
// fill in the numbers around the mines
for (int row = 0; row < size; row++) {
for (int col = 0; col < size; col++) {
if (board[row][col] == -1) {
for (int i = row - 1; i <= row + 1; i++) {
for (int j = col - 1; j <= col + 1; j++) {
if (i >= 0 && i < size && j >= 0 && j < size && board[i][j] != -1) {
board[i][j]++;
}
}
}
}
}
}
}
public void printBoard() {
for (int row = 0; row < size; row++) {
for (int col = 0; col < size; col++) {
if (board[row][col] == -1) {
System.out.print("* ");
} else {
System.out.print(board[row][col] + " ");
}
}
System.out.println();
}
}
public static void main(String[] args) {
MineSweeper game = new MineSweeper(10, 15);
game.printBoard();
}
}
```
在上面的代码中,我们使用一个二维数组来表示扫雷游戏的棋盘。初始时,所有格子都被标记为0。我们使用一个循环来随机放置地雷,直到放置了指定数量的地雷。如果随机选中的格子已经是地雷,则跳过这个格子。
然后,我们遍历整个棋盘,对于每个地雷,我们计算出它周围的格子应该填入的数字。如果一个格子不是地雷,并且它周围有地雷,则这个格子的值为周围地雷的数量。最后,我们使用printBoard()方法来打印出整个棋盘,其中地雷用星号表示。
阅读全文