生成扫雷二维数组java
时间: 2024-10-22 21:28:50 浏览: 15
java 二维数组编的扫雷小游戏
5星 · 资源好评率100%
在Java中生成扫雷游戏的二维数组,通常称为雷区矩阵,是一个基础步骤。这里我们可以创建一个二维Integer类型的数组,其中0代表安全区域,非0值表示地雷。以下是一个简单的例子:
```java
public class Minesweeper {
private int[][] board; // 雷区矩阵
private final int rows;
private final int cols;
public Minesweeper(int rows, int cols, int mines) {
this.rows = rows;
this.cols = cols;
// 创建一个全0的矩阵
board = new int[rows][cols];
// 随机放置地雷
for (int i = 0; i < mines; ) {
int r = Math.floor(Math.random() * rows);
int c = Math.floor(Math.random() * cols);
if (board[r][c] == 0) { // 如果该位置未被占用
board[r][c] = mines - i; // 设置地雷数量
i++;
}
}
}
// 获取周围的雷的数量
public int getNeighbors(int row, int col) {
int count = 0;
for (int i = -1; i <= 1; i++) {
for (int j = -1; j <= 1; j++) {
if (i == 0 && j == 0) continue; // 忽略自身
if (row + i >= 0 && row + i < rows && col + j >= 0 && col + j < cols && board[row + i][col + j] > 0) {
count++;
}
}
}
return count;
}
// 获取雷区矩阵
public int[][] getBoard() {
return board;
}
}
```
阅读全文