以下是一个简单的扫雷程序的示例代码:

import random

def create_board(rows, cols, num_mines):
    board = [[' ' for _ in range(cols)] for _ in range(rows)]
    mines = random.sample(range(rows*cols), num_mines)
    for mine in mines:
        row = mine // cols
        col = mine % cols
        board[row][col] = 'M'
    return board

def print_board(board):
    for row in board:
        print(' '.join(row))

def count_adjacent_mines(board, row, col):
    count = 0
    for i in range(-1, 2):
        for j in range(-1, 2):
            if i == 0 and j == 0:
                continue
            if 0 <= row+i < len(board) and 0 <= col+j < len(board[0]):
                if board[row+i][col+j] == 'M':
                    count += 1
    return count

def uncover_cell(board, uncovered, row, col):
    if uncovered[row][col]:
        return
    uncovered[row][col] = True
    if board[row][col] == 'M':
        print('Game Over!')
        return
    elif board[row][col] == ' ':
        for i in range(-1, 2):
            for j in range(-1, 2):
                if i == 0 and j == 0:
                    continue
                if 0 <= row+i < len(board) and 0 <= col+j < len(board[0]):
                    uncover_cell(board, uncovered, row+i, col+j)

def play(rows, cols, num_mines):
    board = create_board(rows, cols, num_mines)
    uncovered = [[False for _ in range(cols)] for _ in range(rows)]
    while True:
        print_board(uncovered)
        row = int(input('Enter row: '))
        col = int(input('Enter column: '))
        uncover_cell(board, uncovered, row, col)

play(10, 10, 10)

这个程序使用二维列表表示扫雷棋盘,'M'表示地雷,' '表示未被揭开的方块。玩家可以输入要揭开的方块的行号和列号,程序会根据输入揭开方块,并根据周围的地雷数显示相应的数字。如果揭开的方块是地雷,则游戏结束

写一段扫雷程序

原文地址: http://www.cveoy.top/t/topic/hVNi 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录