由于消消乐有多种玩法,我假设你想要一个基于经典消消乐的代码。下面是一个示例代码:

import random

# 定义棋盘大小和颜色
BOARD_SIZE = 8
COLORS = ['R', 'G', 'B', 'Y', 'P']

# 初始化棋盘
board = []
for i in range(BOARD_SIZE):
    row = [random.choice(COLORS) for j in range(BOARD_SIZE)]
    board.append(row)

# 打印棋盘
def print_board(board):
    for row in board:
        print(row)

print_board(board)

# 消除相邻的同色方块
def remove_adjacent(board, x, y):
    color = board[x][y]
    if color == '-':
        return
    board[x][y] = '-'
    if x > 0 and board[x-1][y] == color:
        remove_adjacent(board, x-1, y)
    if x < BOARD_SIZE-1 and board[x+1][y] == color:
        remove_adjacent(board, x+1, y)
    if y > 0 and board[x][y-1] == color:
        remove_adjacent(board, x, y-1)
    if y < BOARD_SIZE-1 and board[x][y+1] == color:
        remove_adjacent(board, x, y+1)

# 循环消除所有相邻的同色方块
def remove_all_adjacent(board):
    for i in range(BOARD_SIZE):
        for j in range(BOARD_SIZE):
            remove_adjacent(board, i, j)

# 移动方块使得相邻的同色方块相连
def move_blocks(board):
    moved = False
    for i in range(BOARD_SIZE):
        for j in range(BOARD_SIZE):
            if board[i][j] == '-':
                if i > 0 and board[i-1][j] != '-':
                    board[i][j] = board[i-1][j]
                    board[i-1][j] = '-'
                    moved = True
                elif j > 0 and board[i][j-1] != '-':
                    board[i][j] = board[i][j-1]
                    board[i][j-1] = '-'
                    moved = True
    if moved:
        move_blocks(board)

# 循环玩家移动
while True:
    print('Enter the row and column to remove (or enter quit to end):')
    move = input()
    if move == 'quit':
        break
    x, y = move.split()
    x = int(x)
    y = int(y)
    if x < 0 or x >= BOARD_SIZE or y < 0 or y >= BOARD_SIZE:
        print('Invalid move. Try again.')
        continue
    if board[x][y] == '-':
        print('No block at that position. Try again.')
        continue
    remove_adjacent(board, x, y)
    remove_all_adjacent(board)
    move_blocks(board)
    print_board(board)

这个代码实现了一个简单的消消乐游戏,玩家可以输入要移除的方块的行和列来消除相邻的同色方块。代码会循环执行直到玩家输入 "quit" 为止。

写一份消消乐代码

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

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