扫雷python代码
时间: 2023-11-09 18:57:55 浏览: 113
以下是一个简单的扫雷游戏的Python代码示例:
```python
import random
def create_board(rows, cols, num_mines):
board = [[' ' for _ in range(cols)] for _ in range(rows)]
mines = set()
while len(mines) < num_mines:
row = random.randint(0, rows - 1)
col = random.randint(0, cols - 1)
mines.add((row, col))
board[row][col] = 'X'
return board
def count_adjacent_mines(board, row, col):
count = 0
rows, cols = len(board), len(board[0])
for i in range(max(0, row - 1), min(row + 2, rows)):
for j in range(max(0, col - 1), min(col + 2, cols)):
if board[i][j] == 'X':
count += 1
return count
def reveal_cell(board, row, col):
if board[row][col] != ' ':
return False
rows, cols = len(board), len(board[0])
mine_count = count_adjacent_mines(board, row, col)
board[row][col] = str(mine_count) if mine_count > 0 else '_'
if mine_count == 0:
for i in range(max(0, row - 1), min(row + 2, rows)):
for j in range(max(0, col - 1), min(col + 2, cols)):
reveal_cell(board, i, j)
return True
def print_board(board):
for row in board:
print(' '.join(row))
# 示例用法
rows = 5
cols = 5
num_mines = 4
board = create_board(rows, cols, num_mines)
print_board(board)
# 相关问题:
阅读全文
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)