java用数组实现随机布雷
时间: 2023-12-10 18:37:33 浏览: 66
下面是一个简单的 Java 代码,用于在二维数组中随机布置雷:
```java
import java.util.Random;
public class MineSweeper {
private int size;
private int[][] board;
private int numMines;
public MineSweeper(int size, int numMines) {
this.size = size;
this.numMines = numMines;
board = new int[size][size];
initializeBoard();
}
private void initializeBoard() {
// 初始化地图,将所有格子的值设为 0
for (int i = 0; i < size; i++) {
for (int j = 0; j < size; j++) {
board[i][j] = 0;
}
}
// 随机布置雷
Random random = new Random();
int count = 0;
while (count < numMines) {
int x = random.nextInt(size);
int y = random.nextInt(size);
if (board[x][y] != -1) {
board[x][y] = -1;
count++;
}
}
}
public void printBoard() {
// 打印地图
for (int i = 0; i < size; i++) {
for (int j = 0; j < size; j++) {
if (board[i][j] == -1) {
System.out.print("* ");
} else {
System.out.print(board[i][j] + " ");
}
}
System.out.println();
}
}
public static void main(String[] args) {
MineSweeper game = new MineSweeper(10, 10);
game.printBoard();
}
}
```
在上面的代码中,我们使用二维数组 `board` 来表示地图,其中 `-1` 表示该位置有雷,`0` 表示该位置没有雷。然后,我们使用 `Random` 类随机生成雷的位置,将对应位置的值设为 `-1`。最后,我们可以使用 `printBoard()` 方法打印出地图。
阅读全文