利用python写一个连连看游戏
时间: 2023-07-07 09:43:17 浏览: 113
好的,下面是一个简单的连连看游戏的 Python 代码示例,仅供参考:
``` python
import pygame
import random
import time
# 游戏界面大小
SCREEN_WIDTH = 640
SCREEN_HEIGHT = 480
# 每个方块的大小
BLOCK_SIZE = 40
# 游戏方块的行数和列数
ROWS = SCREEN_HEIGHT // BLOCK_SIZE
COLS = SCREEN_WIDTH // BLOCK_SIZE
# 不同颜色的方块
BLOCK_COLORS = [
(255, 0, 0), # 红色
(0, 255, 0), # 绿色
(0, 0, 255), # 蓝色
(255, 255, 0), # 黄色
(255, 0, 255), # 紫色
(0, 255, 255), # 青色
]
# 游戏方块矩阵
blocks = []
# 当前选中的方块
selected_block = None
# 初始化 Pygame
pygame.init()
# 创建游戏窗口
screen = pygame.display.set_mode((SCREEN_WIDTH, SCREEN_HEIGHT))
# 设置窗口标题
pygame.display.set_caption("连连看")
# 创建游戏方块矩阵
for row in range(ROWS):
blocks.append([])
for col in range(COLS):
# 随机选择一个颜色
color = random.choice(BLOCK_COLORS)
# 创建方块对象
block = pygame.Rect(col * BLOCK_SIZE, row * BLOCK_SIZE, BLOCK_SIZE, BLOCK_SIZE)
# 设置方块的颜色
block.color = color
# 把方块添加到矩阵中
blocks[row].append(block)
# 游戏主循环
while True:
# 处理事件
for event in pygame.event.get():
if event.type == pygame.QUIT:
# 如果用户关闭了窗口,则退出游戏
pygame.quit()
exit()
elif event.type == pygame.MOUSEBUTTONDOWN:
# 如果用户按下了鼠标,则检查是否选中了方块
mouse_x, mouse_y = event.pos
for row in range(ROWS):
for col in range(COLS):
block = blocks[row][col]
if block.collidepoint(mouse_x, mouse_y):
if selected_block is None:
# 如果当前没有选中的方块,则选中该方块
selected_block = block
elif selected_block == block:
# 如果用户再次点击了已选中的方块,则取消选中该方块
selected_block = None
elif selected_block.color == block.color:
# 如果用户选中了两个颜色相同的方块,则消除这两个方块
selected_block = None
block.color = None
else:
# 如果用户选中了两个颜色不同的方块,则取消选中已选中的方块,并选中当前方块
selected_block = block
# 填充背景色
screen.fill((255, 255, 255))
# 绘制游戏方块
for row in range(ROWS):
for col in range(COLS):
block = blocks[row][col]
if block.color is not None:
pygame.draw.rect(screen, block.color, block)
# 绘制选中的方块
if selected_block is not None:
pygame.draw.rect(screen, (255, 255, 0), selected_block, 4)
# 刷新屏幕
pygame.display.flip()
# 等待一会儿
time.sleep(0.02)
```
运行这段代码,就可以看到一个简单的连连看游戏界面了。不过这只是一个基础的示例,实际的连连看游戏还需要添加更多的功能和玩法。
阅读全文