下面是一个简单的消消乐游戏的Python代码示例:

import random

# 游戏面板大小
ROWS = 8
COLS = 8

# 定义颜色常量
COLORS = {
    'R': '\033[31m',  # 红色
    'G': '\033[32m',  # 绿色
    'B': '\033[34m',  # 蓝色
    'Y': '\033[33m',  # 黄色
    'M': '\033[35m',  # 紫色
    'C': '\033[36m',  # 青色
    'W': '\033[37m',  # 白色
}

# 初始化游戏面板
board = [[random.choice(list(COLORS.keys())) for _ in range(COLS)] for _ in range(ROWS)]


def print_board():
    for row in board:
        for col in row:
            print(COLORS[col] + col + ' ', end='')
        print('\n')


def eliminate(x, y, color):
    if x < 0 or x >= ROWS or y < 0 or y >= COLS or board[x][y] != color:
        return

    board[x][y] = ' '

    eliminate(x - 1, y, color)
    eliminate(x + 1, y, color)
    eliminate(x, y - 1, color)
    eliminate(x, y + 1, color)


def drop():
    for col in range(COLS):
        empty_rows = [row for row in range(ROWS) if board[row][col] == ' ']
        for row in range(ROWS - 1, -1, -1):
            if row < len(empty_rows):
                board[row][col] = random.choice(list(COLORS.keys()))
            else:
                board[row][col] = ' '


def play():
    while True:
        print_board()

        x = int(input('请输入要消除的方块的横坐标(0-7):'))
        y = int(input('请输入要消除的方块的纵坐标(0-7):'))

        if x < 0 or x >= ROWS or y < 0 or y >= COLS:
            print('输入无效,请重新输入!')
            continue

        color = board[x][y]

        eliminate(x, y, color)
        drop()

        if all(board[row][col] == ' ' for row in range(ROWS) for col in range(COLS)):
            print('恭喜!你已经消除所有方块,游戏结束!')
            break


if __name__ == '__main__':
    play()

这个消消乐游戏使用了递归算法来实现方块的消除,每次消除相同颜色的方块后,会将上方的方块下落。

运行这段代码后,你可以通过输入方块的坐标来进行消除。当所有方块都被消除后,游戏结束

用python编写一个消消乐游戏

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

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