python写开心消消乐代码
时间: 2024-03-02 21:46:29 浏览: 129
当然可以!下面是一个简单的Python代码示例,实现了一个基本的开心消消乐游戏:
```python
import random
# 游戏棋盘大小
ROWS = 6
COLS = 6
# 定义颜色
COLORS = ['R', 'G', 'B', 'Y', 'P']
# 创建游戏棋盘
board = [[random.choice(COLORS) for _ in range(COLS)] for _ in range(ROWS)]
# 打印游戏棋盘
def print_board():
for row in board:
print(' '.join(row))
print()
# 检查是否有可消除的方块
def check_matches():
matches = set()
# 检查行
for row in range(ROWS):
for col in range(COLS - 2):
if board[row][col] == board[row][col+1] == board[row][col+2]:
matches.add((row, col))
matches.add((row, col+1))
matches.add((row, col+2))
# 检查列
for col in range(COLS):
for row in range(ROWS - 2):
if board[row][col] == board[row+1][col] == board[row+2][col]:
matches.add((row, col))
matches.add((row+1, col))
matches.add((row+2, col))
return matches
# 消除方块
def remove_matches(matches):
for row, col in matches:
board[row][col] = ' '
# 下落方块
def drop_blocks():
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(COLORS)
else:
board[row][col] = board[row-len(empty_rows)][col]
board[row-len(empty_rows)][col] = ' '
# 主循环
while True:
print_board()
matches = check_matches()
if not matches:
print("No more matches!")
break
remove_matches(matches)
drop_blocks()
```
这段代码实现了一个简单的开心消消乐游戏,游戏棋盘大小为6x6,使用'R'、'G'、'B'、'Y'和'P'五种颜色的方块。游戏规则是消除相邻的三个或以上相同颜色的方块,直到没有可消除的方块为止。
你可以运行这段代码,体验一下开心消消乐游戏的乐趣!如果你有任何问题,请随时提问。
阅读全文