python消消乐完整代码
时间: 2024-03-21 08:37:15 浏览: 136
当然,下面是一个简单的Python消消乐游戏的完整代码示例:
```python
import random
# 创建一个5x5的游戏棋盘
board = [[' ' for _ in range(5)] for _ in range(5)]
# 定义颜色列表
colors = ['R', 'G', 'B', 'Y']
# 随机填充棋盘
for i in range(5):
for j in range(5):
board[i][j] = random.choice(colors)
# 打印初始棋盘
print("初始棋盘:")
for row in board:
print(' '.join(row))
print()
# 消除相同颜色的方块
def eliminate(x, y, color):
if x < 0 or x >= 5 or y < 0 or y >= 5 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 eliminate_and_fall():
for j in range(5):
for i in range(4, -1, -1):
if board[i][j] == ' ':
for k in range(i-1, -1, -1):
if board[k][j] != ' ':
board[i][j] = board[k][j]
board[k][j] = ' '
break
# 判断游戏是否结束
def is_game_over():
for i in range(5):
for j in range(5):
if board[i][j] != ' ':
if (i < 4 and board[i][j] == board[i+1][j]) or (j < 4 and board[i][j] == board[i][j+1]):
return False
return True
# 主循环
while not is_game_over():
# 输入要消除的方块的位置和颜色
x = int(input("请输入要消除的方块的行号(0-4):"))
y = int(input("请输入要消除的方块的列号(0-4):"))
color = input("请输入要消除的方块的颜色(R/G/B/Y):")
# 消除相同颜色的方块
eliminate(x, y, color)
# 打印当前棋盘
print("当前棋盘:")
for row in board:
print(' '.join(row))
print()
# 下落方块
eliminate_and_fall()
# 游戏结束
print("游戏结束!")
```
希望这个代码示例能够帮助你理解Python消消乐游戏的实现。如果有任何问题,请随时提问。
阅读全文