帮我用Python命令框做一个扫雷游戏 
时间: 2023-05-12 21:05:08 浏览: 18
好的,以下是一个简单的Python扫雷游戏代码:
```python
import random
def create_board(board_size, num_bombs):
board = [[' ' for _ in range(board_size)] for _ in range(board_size)]
bombs_planted = 0
while bombs_planted < num_bombs:
row = random.randint(0, board_size-1)
col = random.randint(0, board_size-1)
if board[row][col] == ' ':
board[row][col] = '*'
bombs_planted += 1
return board
def print_board(board):
board_size = len(board)
print(' ', end='')
for i in range(board_size):
print(i, end=' ')
print()
print(' ', end='')
for i in range(board_size):
print('-', end=' ')
print()
for i in range(board_size):
print(i, '|', end=' ')
for j in range(board_size):
print(board[i][j], end=' ')
print()
def get_num_adjacent_bombs(board, row, col):
num_bombs = 0
for i in range(max(0, row-1), min(len(board), row+2)):
for j in range(max(0, col-1), min(len(board), col+2)):
if board[i][j] == '*':
num_bombs += 1
return num_bombs
def reveal_square(board, revealed, row, col):
if revealed[row][col]:
return
revealed[row][col] = True
if board[row][col] == ' ':
for i in range(max(0, row-1), min(len(board), row+2)):
for j in range(max(0, col-1), min(len(board), col+2)):
if i != row or j != col:
reveal_square(board, revealed, i, j)
def play_game():
board_size = int(input('Enter board size: '))
num_bombs = int(input('Enter number of bombs: '))
board = create_board(board_size, num_bombs)
revealed = [[False for _ in range(board_size)] for _ in range(board_size)]
game_over = False
while not game_over:
print_board(revealed)
row = int(input('Enter row: '))
col = int(input('Enter column: '))
if board[row][col] == '*':
print('Game over!')
game_over = True
else:
reveal_square(board, revealed, row, col)
if all(all(revealed[i][j] or board[i][j] != ' ' for j in range(board_size)) for i in range(board_size)):
print_board(revealed)
print('You win!')
game_over = True
play_game()
```
请注意,这只是一个简单的扫雷游戏,可能还有很多改进的空间。
相关推荐

