sairate 2cd753d3d9 feat(第7讲 字母卡牌): 实现记忆游戏并添加开始界面
- 新增 jiyi.py 文件,实现字母翻牌记忆游戏功能
- 添加 youxijiemian.py 文件,创建游戏开始界面
- 使用 turtle 和 tkinter 模块分别实现游戏和界面
- 支持选择不同难度的游戏模式
2025-06-29 09:06:19 +08:00

70 lines
2.6 KiB
Python

# 预置内容,请勿改动
a = {"01新疆碎片": (225, 231), "02西藏碎片": (244, 457), "03内蒙古碎片": (623, 203),
"04青海碎片": (383, 396), "05四川碎片": (491, 521), "06黑龙江碎片": (861, 122),
"07甘肃碎片": (472, 358), "08云南碎片": (457, 621), "09广西碎片": (580, 656),
"10湖南碎片": (640, 584), "11陕西碎片": (586, 415), "12河北碎片": (718, 330),
"13吉林碎片": (859, 228), "14湖北碎片": (654, 506), "15广东碎片": (678, 677),
"16贵州碎片": (549, 593), "17河南碎片": (672, 446), "18江西碎片": (724, 584),
"19山东碎片": (758, 392), "20山西碎片": (650, 369), "21辽宁碎片": (805, 284),
"22安徽碎片": (740, 487), "23福建碎片": (766, 609), "24江苏碎片": (770, 462),
"25浙江碎片": (793, 538), "26重庆碎片": (573, 525), "27宁夏碎片": (548, 375),
"28台湾碎片": (824, 652), "29海南碎片": (610, 753), "30北京碎片": (715, 310),
"31天津碎片": (730, 326), "32上海碎片": (818, 495)} # 省份文件名称和对应的正确位置
# 导入库
import pgzrun
import os
import random
# 设置窗口
WIDTH = 1000 # 窗口的宽度
HEIGHT = 800 # 窗口的高度
# 设置窗口标题
TITLE = '中国地图我来拼'
# 初始值设置
selected_piece = None # 当前被选择的碎片
selected_name = None # 当前被选择的碎片名字
# 加载碎片
pieces = []
# 遍历指定文件夹中的所有文件
for filename in os.listdir('images'):
if filename[-6:] == '碎片.png': # 只处理以碎片.png结尾的文件
img = Actor(filename[:-4], (random.randint(0, WIDTH), random.randint(0, HEIGHT)))
pieces.append([img, filename[:-4], False]) # 添加所有碎片和碎片信息到列表
# 刷新屏幕
def draw():
screen.blit('中国地图背景', (0, 0)) # 绘制背景
# 绘制每个碎片
for piece in pieces:
piece[0].draw()
# 鼠标按下事件
def on_mouse_down(pos):
global selected_piece, selected_name
for piece, name, placed in pieces:
if piece.collidepoint(pos) and not placed: # 检查是否点击到未正确放置的碎片
selected_piece = piece # 记录选择的碎片
selected_name = name # 记录碎片名称
break
# 鼠标移动事件
def on_mouse_move(pos):
if selected_piece != None and 0 < pos[0] < 1000 and 0 < pos[1] < 800: # 如果有选中碎片且鼠标未移出窗口,就随着鼠标移动
selected_piece.pos = pos # 更新选中碎片的位置
# 鼠标释放事件
def on_mouse_up(pos):
# <检测碎片是否正确放置>
pass
# 启动游戏
pgzrun.go()