专栏首页huiPython、PyGame游戏项目

Python、PyGame游戏项目

英文打字游戏项目

需求分析

英文打字小游戏,要有多界面交互,界面整洁、美观,可调节游戏等级难度,可配置游戏信息。 要有游戏分数,游戏时间,动画特效,背景音乐,不同游戏等级的历史最高分记录。 拼写成功的英文单词显示中文意思。支持长按回删键[backspace],快速删除单词字母。 多种游戏困难等级让玩家可以侧重提高打字速度、或者练习英语单词。

游戏开始界面

  • 游戏开始选项
  • 游戏设置选项
  • 游戏历史最高选项
  • 实现各选项点击进入相对应的功能界面

游戏设置界面

  • 展示游戏配置信息
    • 游戏困难等级
    • 游戏初始血量
    • 英文单词的大小
    • 英文单词的颜色
  • 实现动态调节游戏配置信息
    • 游戏等级、初始血量
    • 单词的大小、颜色
    • 可更换游戏背景图、背景音乐
  • 分别实现暂时保存游戏配置信息、永久游戏配置信息

游戏历史最高纪录界面

  • 展示各游戏困难等级的历史最高纪录
    • 游戏困难等级
    • 最高分
    • 耗时
    • 创建时间

游戏运行界面

  • 加载背景音乐(可设为静音模式)
  • 英文单词从上向下降落
  • 可在界面上英文打字并显示
  • 显示游戏血量、游戏分数
  • 支持长按回删键,快速删除单词字母
  • 实现英文单词拼写成功的颜色突出、分数计分功能
  • 在游戏中,可临时调节游戏信息

游戏结束界面

  • 显示当局游戏分数信息
    • 游戏困难等级
    • 累计得分
    • 所耗时间
    • 历史最高分
  • 退出、重玩游戏选项

开发环境

编程语言

编程语言

版本号

Python

3.7.1

开发工具

工具名称

工具版本

PyCharm

2019.3.1

第三方库

第三库名称

版本号

pygame

1.9.6

pyinstaller

4.0

PySimpleGUI

4.26.0

第三方库说明

pygame: 用于绘制英文打字游戏运行窗口,整体实现游戏动画效果。

pyinstaller: 把项目打包成可执行文件(.exe),可在 Windows 环境下运行程序,无需 Python 环境。

PySimpleGUI: 绘制游戏整体交互窗口(开始、设置、历史最高窗口)。

游戏素材

素材

文件/路径

游戏音乐

resource/music/…

游戏字体

resource/font/HUI.TTF

游戏背景图、图标

resource/image/…

英语四级单词文本

resource/en_word.txt

项目架构概览

目录树形结构

WordSprite
├─.idea
│  └─inspectionProfiles
├─bin
│  └─resource
│      ├─font
│      ├─image
│      │  └─animation
│      └─music
├─document
└─source
│    └─resource
│        ├─font
│        ├─image
│        │  └─animation
│        └─music
├─readme.md

项目目录结构图

页面功能图

使用说明

游戏主界面

游戏运行界面

游戏运行界面,会根据你键盘输入的单词去匹配游戏垂直降落的单词。

  • 单词前缀匹配成功有颜色突出。
  • 完全匹配(单词拼写成功)会显示相对应的中文意思,游戏分数加一,游戏血条增加,并且显示拼写动画特效。
  • 游戏运行期间游戏血条会一直逐渐减少,游戏结束、暂停才会停止。
  • 降落的单词超出游戏屏幕,游戏血条减少。
  • 游戏每增加10分、游戏血条快满时,降落的单词速度短暂增速。
  • 游戏血条不同状态有不同的颜色显示。
  • 可打开游戏设置界面(游戏暂停),动态调节游戏配置信息。
  • 播放背景音乐。

游戏设置界面

游戏设置界面用于调节游戏配置信息,游戏运行时也可以调出动态调节。

调节游戏等级

游戏分为五个等级,分别为

游戏等级

名称

单词下落速度

1

简单

0.3

2

上手

0.5

3

中等

1.0

4

困难

1.5

5

魔鬼

2.0

游戏运行期间游戏血条会一直逐渐减少、降落的单词超出游戏屏幕,游戏血条减少,游戏血条减少的程度都随着游戏等级的提高而提高。

其他调节

  • 游戏字体大小
  • 游戏初始血条
  • 游戏静音状态
  • 游戏单词字体颜色
  • 单词拼写匹配成功的突出颜色

配置信息保存

临时保存

临时保存,可用于试探不同的配置信息的游戏效果如何,看看是否满意,如果不满意,又可换回原来的配置信息。

临时保存适用于当局游戏有效,重玩、重开都无效。

永久保存

永久保存将把游戏配置信息写入配置文件中,永久生效。

注意:游戏静音状态的调节,无需保存也可实现效果,但每次打开游戏的时候都是声音开放状态。

游戏历史最高界面

历史最高界面,显示着不同游戏等级的历史最高分记录。

  • 最高分
  • 游戏耗时
  • 记录创建时间

游戏版本信息、关于作者

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 数据结构 - 链表

    顺序表的构建需要预先知道数据大小来申请连续的存储空间,而在进行扩充(插入、删除)时又需要进行数据的搬迁,所以使用起来并不是很灵活。

    忆想不到的晖
  • C语言实现顺序队列

    顺序队列和顺序栈相类似,在队列的顺序存储结构中,除了用一组地址连续的存储单元依次存放从队列头到队列尾的元素之外,尚需附设两个 “指针” front 和 rear...

    忆想不到的晖
  • 顺序表与链表的比较

    结点的数据域a1占8个字节,地址域占4个字节,所以存储密度 = 8 / 12 = 67%

    忆想不到的晖
  • 引领技术变革,腾讯云、腾讯WeTest和英特尔,合作布局云游戏

    原文链接:https://wetest.qq.com/lab/view/397.html

    WeTest质量开放平台团队
  • 慢热的云游戏:悄然无声中崛起

    2020年已近尾声,这是多灾多难的一年,也是非同寻常的一年。“疫情”和“云”注定成为今年最令人印象深刻的关键词。

    刘旷
  • 书单丨游戏制作是门儿手艺,这5本书带你牢固基础

    本书是腾讯游戏研发团队的技术结晶,由10多名腾讯游戏资深技术专家撰写而成,整理了团队在自主游戏研发的道路上积累沉淀的技术方案,具有较强的通用性及时效性,内容涵盖...

    博文视点Broadview
  • 与腾讯、网易逐梦云游戏,三七互娱还少张王牌

    近年来,传统的游戏市场在激烈的竞争下已经接近饱和,新老玩家都迫切在游戏市场开辟新的赛道,而5G的出现为各行业的发展带来了前所未有的机遇,也使云游戏的概念得到快速...

    刘旷
  • 请问想学写游戏脚本,是学易语言还是学按键精灵?

    很多人都对游戏脚本感兴趣,但大部分只是想通过脚本帮助自己在游戏的时候玩的更加省劲,当然更多研究游戏的脚本的人或者工作室只是想通过脚本在游戏领域能够挣到钱,任何一...

    程序员互动联盟
  • python小游戏设计入门1-了解游戏

    从小到大玩过很多的游戏,在我小时候,能玩游戏的地方不多,那时玩游戏都是偷摸玩的,只要是个游戏就觉得非常有趣,比较经典的有魂斗罗,拳皇,超级玛丽,贪吃蛇,俄罗斯方...

    用户7054460
  • 开发游戏需要懂几种语言?

    玩游戏这么简单的事情,是个人都会。三岁孩童都会偷菜,打怪。特么逗我,你说那个游戏没通关你告诉我?我就一地地道道国人,除了汉字没听说有其它啥啥玩意儿。 今天我们来...

    程序员互动联盟

扫码关注云+社区

领取腾讯云代金券