pygame小游戏——中国地图拼图小游戏

pygame小游戏——中国地图拼图小游戏

游戏简介

本游戏用python开发,可对中国各个省份进行拼图,设置三个模式,便于中小学生熟悉中国地图,省份及简称等。通过鼠标拖动省份到地图相应位置,寓教于乐。

游戏界面

1.打开游戏
pygame小游戏——中国地图拼图小游戏_第1张图片
打开游戏后进入主页。
主页显示欢迎词,历史最快完成游戏的记录,本次完成游戏的记录等,可选择简单模式、普通模式、困难模式等。点击开始游戏进入游戏,点击结束游戏关闭游戏。
2.简单模式开始游戏
pygame小游戏——中国地图拼图小游戏_第2张图片
简单模式游戏地图上显示各省份简称,左上角显示游戏用时。右侧显示当前拼图的省份,可点击换一换,更换省份,用鼠标点击省份,移动鼠标,到地图上相应位置,若成功则音效提示。
右上角可点击暂停,计时停止,不可进行拼图。点击主页可推出本次游戏进入主页面。
游戏完成后会记录本次游戏用时,若比记录用时短,则会更新记录用时,显示破纪录了。
3.普通模式开始游戏
pygame小游戏——中国地图拼图小游戏_第3张图片
普通模式地图上不显示省份信息,只显示省份轮廓,右侧提示省份简称。
4.困难模式开始游戏
pygame小游戏——中国地图拼图小游戏_第4张图片
困难模式地图上不显示省份轮廓,右侧不提示省份信息。

主要代码

  1. 计时器
# 自定义计时事件
COUNT = pygame.USEREVENT
# 每隔1秒发送一次自定义事件
pygame.time.set_timer(COUNT, 1000)
# 计时计数
counts = 0
# 计时标志
timer = False
if event.type == COUNT:  # 判断事件是否为计时事件
   if timer:
       counts += 1

2.鼠标拖动

# 鼠标拖动
if event.type == pygame.MOUSEBUTTONDOWN:  # 获取点击鼠标事件
    if event.button == 1 and myprov.rect.collidepoint(event.pos):  # 鼠标是否在省份内
        moving = True
elif event.type == pygame.MOUSEBUTTONUP:  # 获取松开鼠标事件
    if event.button == 1:  # 松开鼠标左键
        moving = False

根据鼠标位置,显示省份图片,则具有拖动效果。
3. 随机从字典中选取一个键值

import numpy as np
key = np.random.choice(list(provinces.keys()))  # 随机选择省份(获取键)
value = provinces[key]  # 获取相应的值
  1. 遍历字典
for key, value in mydict.items():  # 获取键和值
……
for value in provincestext.values():  # 获取值
……
for key in provincestext.keys():  # 获取键
……
  1. 删除字典中某一个键值
del mydict[key]  # 原省份中删除正确省份
  1. python程序转exe文件方法
    命令提示符进入python程序地址(或在地址栏输入cmd打开命令提示符),使用命令pyinstaller -F -w -i favicon.ico main.py。
    本命令针对当个程序文件。
    其中:-i favicon.ico为设定exe文件图标。
    -w为不显示程序执行提示框。遇见exe文件闪退问题时,可以不加-w,显示提示框模式,在exe文件地址进入命令提示符,输入exe程序名(不带.exe)执行,即可查看报错原因。
    最后main.py 为要转exe的程序文件。
  2. 针对python程序转exe文件后运行闪退问题的解决方法
    问题原因:Intel MKL FATAL ERROR: Cannot load mkl_intel_thread.dll,产生的原因应该是安装numpy+mkl时产生的。
    解决方法:将mkl_intel_thread.dll文件复制到exe文件目录下即可。mkl_intel_thread.dll文件可在python安装目录下\Lib\site-packages\numpy\DLLs下找到。

游戏下载地址

游戏下载地址为:
https://download.csdn.net/download/weixin_39151703/12161684
代码下载地址:
https://download.csdn.net/download/weixin_39151703/12522096
附中国地图,各省份地图等。
附mkl_intel_thread.dll文件。

你可能感兴趣的:(pygame,技术开发)