请用Python写一个扫雷程序并添加注释
时间: 2024-04-25 10:15:31 浏览: 93
python基础课程课件.pdf
好的,我可以为您介绍一个Python语言的扫雷程序,并附带注释,代码如下:
```
import random
# 定义常量
MINE_PROBABILITY = 0.15
WIDTH = 10
HEIGHT = 10
# 初始化棋盘
board = [[0 for x in range(WIDTH)] for y in range(HEIGHT)]
# 生成地雷
for x in range(WIDTH):
for y in range(HEIGHT):
if random.uniform(0, 1) < MINE_PROBABILITY:
board[x][y] = '*'
# 计算每个格子周围的地雷数量
for x in range(WIDTH):
for y in range(HEIGHT):
count = 0
# 检查周围8个格子是否有地雷
for dx in range(-1, 2):
for dy in range(-1, 2):
# 如果坐标越界或者是当前格子本身,则跳过
if x + dx < 0 or x + dx >= WIDTH or y + dy < 0 or y + dy >= HEIGHT or (dx == 0 and dy == 0):
continue
if board[x + dx][y + dy] == '*':
count += 1
if board[x][y] != '*':
board[x][y] = str(count)
# 打印棋盘
for row in board:
print(' '.join(row))
```
上面的代码是一个简单的扫雷程序,生成棋盘后,使用两个循环来遍历每个格子,计算周围地雷的数量并存入相应的格子。最后打印出棋盘,其中 '*' 表示地雷,数字表示周围地雷的数量。
阅读全文