- 新增 jiyi.py 文件,实现字母翻牌记忆游戏功能 - 添加 youxijiemian.py 文件,创建游戏开始界面 - 使用 turtle 和 tkinter 模块分别实现游戏和界面 - 支持选择不同难度的游戏模式
70 lines
2.6 KiB
Python
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()
|