写一个Python扫雷代码
时间: 2023-02-21 21:25:41 浏览: 147
好的,这是一个简单的Python扫雷代码的例子:
```
import random
class MineSweeper:
def __init__(self, size=10, mines=10):
self.size = size
self.mines = mines
self.board = [[0 for j in range(self.size)] for i in range(self.size)]
self.hidden_board = [['-' for j in range(self.size)] for i in range(self.size)]
self.generate_mines()
self.calculate_numbers()
def generate_mines(self):
mines_placed = 0
while mines_placed < self.mines:
i = random.randint(0, self.size - 1)
j = random.randint(0, self.size - 1)
if self.board[i][j] != '*':
self.board[i][j] = '*'
mines_placed += 1
def calculate_numbers(self):
for i in range(self.size):
for j in range(self.size):
if self.board[i][j] == '*':
continue
count = 0
for x in range(i-1, i+2):
for y in range(j-1, j+2):
if x >= 0 and x < self.size and y >= 0 and y < self.size and self.board[x][y] == '*':
count += 1
self.board[i][j] = count
def display(self):
for i in range(self.size):
for j in range(self.size):
print(self.hidden_board[i][j], end=' ')
print()
def play(self):
print("Let's play MineSweeper!")
while True:
self.display()
row = int(input("Enter row (0-{}): ".format(self.size - 1)))
col = int(input("Enter col (0-{}): ".format(self.size - 1)))
if self.board[row][col] == '*':
print("You stepped on a mine. Game over.")
break
self.hidden_board[row][col] = self.board[row][col]
print("Good choice!")
if __name__ == '__main__':
game = MineSweeper()
game.play()
```
这是一个简单的扫雷游戏代码,你可以根据自己的需要对代码进行修改。
阅读全文
相关推荐


















