酷代码 AI
菜单
全部AI  /  热门  /  AI写代码神器
服务商

python编写一个扫地雷游戏

以下是一个简单的Python扫地雷游戏实现: ```python import random def create_board(size, num_mines): board = [[' ' for _ in range(size)] for _ in range(size)] mines = set() while len(mines) < num_mines: x = random.randint(0, size - 1) y = random.randint(0, size - 1) if (x, y) not in mines: mines.add((x, y)) board[x][y] = '*' return board, mines def count_mines(board, x, y): count = 0 for i in range(-1, 2): for j in range(-1, 2): if 0 <= x + i < len(board) and 0 <= y + j < len(board[0]) and board[x + i][y + j] == '*': count += 1 return count def reveal_board(board, mines, x, y): if board[x][y] != ' ': return count = count_mines(board, x, y) if count > 0: board[x][y] = str(count) else: board[x][y] = '0' for i in range(-1, 2): for j in range(-1, 2): if 0 <= x + i < len(board) and 0 <= y + j < len(board[0]): reveal_board(board, mines, x + i, y + j) def print_board(board): for row in board: print(' '.join(row)) def play_game(size, num_mines): board, mines = create_board(size, num_mines) while True: print_board(board) x = int(input("请输入行号(0-%d):" % (size - 1))) y = int(input("请输入列号(0-%d):" % (size - 1))) if (x, y) in mines: print("你踩到了地雷!游戏结束。") break reveal_board(board, mines, x, y) if sum(row.count(' ') for row in board) == num_mines: print("恭喜你,成功避开所有地雷!") break if __name__ == "__main__": size = 10 num_mines = 10 play_game(size, num_mines) ``` 这个程序首先创建一个扫雷游戏的棋盘,然后让用户输入行号和列号来翻开格子。如果用户翻开了一个地雷,游戏结束。如果用户成功避开所有地雷,游戏胜利。 [2024-09-01 08:21:47 | AI写代码神器 | 700点数解答]

相关提问