Python、PyGame游戏项目

article/2025/10/6 10:54:04

英文打字游戏项目

项目简介

英文打字小游戏,友好的多界面交互,界面整洁、美观,可动态调节游戏等级难度,可配置游戏信息。

有游戏分数,游戏时间,拼写特效,背景音乐,不同游戏等级的历史最高分记录。

拼写成功的英文单词显示中文意思。支持长按回删键[backspace],快速删除单词字母。

多种游戏困难等级让玩家可以侧重提高打字速度、或者练习英语单词。


游戏开始界面

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

游戏设置界面

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

游戏历史最高纪录界面

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

游戏运行界面

  • 加载背景音乐(可设为静音模式)

  • 英文单词从上向下降落

  • 可在界面上英文打字并显示

  • 显示游戏血量、游戏分数

  • 支持长按回删键,快速删除单词字母

  • 实现英文单词拼写成功的颜色突出、分数计分功能

  • 在游戏中,可临时调节游戏信息


游戏结束界面

  • 显示当局游戏分数信息

    • 游戏困难等级

    • 累计得分

    • 所耗时间

    • 历史最高分

  • 退出、重玩游戏选项


开发环境

编程语言

编程语言版本号
Python3.7.1

开发工具

工具名称工具版本
PyCharm2019.3.1

第三方库

第三库名称版本号
pygame1.9.6
pyinstaller4.0
PySimpleGUI4.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

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


其他调节

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

配置信息保存

临时保存

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

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

永久保存

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

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


游戏历史最高界面

历史最高界面


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

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

游戏版本信息、关于作者

关于作者

最后就是游戏版本、作者信息。制作不易,留下你的小红心❤️。


源代码

源代码已上传到 GitHub Word Sprite,欢迎大家下载玩耍。

✍ 码字不易,点亮小星星 ⭐️,万分感谢👌


公众号

新建文件夹X

大自然用数百亿年创造出我们现实世界,而程序员用几百年创造出一个完全不同的虚拟世界。我们用键盘敲出一砖一瓦,用大脑构建一切。人们把1000视为权威,我们反其道行之,捍卫1024的地位。我们不是键盘侠,我们只是平凡世界中不凡的缔造者 。


http://chatgpt.dhexx.cn/article/73aU7sHk.shtml

相关文章

手把手教你用python写游戏

引言 最近python语言大火,除了在科学计算领域python有用武之地之外,在游戏、后台等方面,python也大放异彩,本篇博文将按照正规的项目开发流程,手把手教大家写个python小游戏,项目来自《Python编程从入门到实践》&…

分享30个有趣的 Python小游戏,我能玩一天

大家好,今天给大家带来30个 Python 小游戏,喜欢记得点赞、一定要收藏,完整版代码,文末获取 文章目录 有手就行1、吃金币2、打乒乓3、滑雪4、并夕夕版飞机大战5、打地鼠 简简单单6、小恐龙7、消消乐8、俄罗斯方块9、贪吃蛇 普普通通…

Python游戏汇总:三十个pygame游戏代码【附源码免费分享】

导语 哈喽哈喽!我是木木子! ​ 每日更新游戏不知不觉已经很多啦~ Python兴趣始于游戏,所以更新的文章中基本上都是游戏代码居多。 然后我疯狂的找各种小游戏、小脚本、小项目的教程源码什么的,然后自己进行学习、制作、修改等…

Python游戏汇总:三十个pygame游戏代码

提示:爱学习哦,不要沉迷游戏,平时打发一下无聊时间最好啦 正文 欢迎阅读: 1.python21点小游戏。2.Python笨鸟先飞小游戏。3.python绘制满天星小游戏。4.吃豆豆小游戏项目。 5.python忍者奔跑小游戏。6.python迷宫小游戏。7.pyt…

8个Python小游戏,可以上班摸鱼玩一天

1、吃金币 源码分享: import os import cfg import sys import pygame import random from modules import *游戏初始化 def initGame():# 初始化pygame, 设置展示窗口pygame.init()screen pygame.display.set_mode(cfg.SCREENSIZE)pygame.display.set_caption(ca…

30个Python小游戏,小白练手,我都能玩一天【内附源码】

今天给大家带来30个py小游戏,一定要收藏! 全部源码都整理好了,在文章最底部~ 有手就行 1、吃金币 【有手就行系列不介绍玩法了附源码】 源码分享: import os import cfg import sys import pygame import random from module…

迷你项目python

迷你项目python 骰子模拟器石头剪刀布随机密码生成器 骰子模拟器 目的:创建一个程序来模拟掷骰子。 提示:当用户询问时,使用random模块生成一个1到6之间的数字。 import random while int(input(press 1 to roll the dice or 0 to exit:\n…

23款小游戏-Python一行代码就能玩

给IT入门加星标,提升编程技能 free-python-games,一行代码就能进入使用Python开发的小游戏快乐玩耍! 安装 pip?install?freegamesPython包括随您的安装一起分发的大量标准库。标准库有一个称为Turtle的模块,这是一种向普通人…

Python游戏开发实战:飞机大战(含代码)

【课程简介】 玩游戏老是输,不如试试自己做个游戏当欧皇。本次课程教大家如何通过pygame模块实现游戏, 以飞机大战为例,讲解游戏的基本机制, 让大家掌握游戏实现原理 ,触类旁通更多Python游戏开发。 【课程推荐】Python游戏开发实战&#x…

【Python游戏】Python各大游戏合集:超级玛丽、天天酷跑、我的世界、魔塔、雷霆战机 | 附带源码

相关文件 关注小编,私信小编领取哟! 当然别忘了一件三连哟~~ 公众号:Python日志 可以关注小编公众号,会不定时的发布一下Python小技巧,还有很多资源可以免费领取哟!! 源码领取:加P…

13个Python小游戏(含源码),开始敲起来,玩吧!

来源丨网络 经常听到有朋友说,学习编程是一件非常枯燥无味的事情。其实,大家有没有认真想过,可能是我们的学习方法不对? 比方说,你有没有想过,可以通过打游戏来学编程? 今天我想跟大家分享几个P…

30个Python小游戏,上班摸鱼我能玩一天【内附源码】

大家好,我是辣条。 今天给大家带来30个py小游戏,一定要收藏! 目录 有手就行 1、吃金币 2、打乒乓 3、滑雪 4、并夕夕版飞机大战 5、打地鼠 简简单单 6、小恐龙 7、消消乐 8、俄罗斯方块 9、贪吃蛇 普普通通 10、24点小游戏 1…

iosetup mysql_InnoDB: Error: io_setup() failed with EAGAIN after 5 attempts

在一台服务器中以各数据库的备份文件为数据文件启动多个MySQL实例供SQL Review使用。 之前运行一直没有问题(最多的时候有23个MySQL实例同时运行),后来新配置了一台服务器,启动其对应的实例时失败。 部分错误日志如下: …… 140505 16:05:59 …

linux系统中socket错误码:EINTR和EAGAIN的处理

目录 人为重启被中断的系统调用 安装信号时设置 SA_RESTART属性 忽略信号 永远阻塞的系统调用,被信号中断,导致其不继续等待,转而去执行signal_handler 1、什么是慢系统调用? 该术语适用于那些可能永远阻塞的系统调用。永远阻…

iosetup mysql_InnoDB: Error: io_setup() failed with EAGAIN

最近安装好了MySQL之后,在启动MySQL服务时无法正常启动MySQL。提示没有更新/var/lib/mfailedZDB.pid并退出。该MySQL与Oracle位于同一主机。有些内核参数进行过调整应该也是使用与MySQL。下面是该问题的具体描述。 1、故障现象SZDB:/usr/src/mysql_src # /etc/init.…

blocking socket 读写返回 EAGAIN

非阻塞的 socket 读写操作返回 EAGAIN,表示当前已经读完内核缓冲区或者写满内核缓冲区,需要等待下一次 select/poll/epoll 事件到来时再操作。 对于阻塞的 socket 读写操作,如果内核缓冲区是空,read 将一直阻塞;如果不…

【Linux Socket C++】为什么IO复用需要用到非阻塞IO?EAGAIN的简单介绍与应用

目录 为什么IO复用需要非阻塞的IO EAGAIN的介绍 EAGAIN的应用 为什么IO复用需要非阻塞的IO 我们可以先看一下官方的回答: 在Linux命令行输入:man 2 select 找到[BUGS],如下: 官方给予的回答是这样的: Under Lin…

avcodec_receive_frame始终返回EAGAIN

今天我们研究一个问题: avcodec_receive_frame()始终返回EAGAIN 根本的解决方案还需要深入debug,但是这个函数很太复杂,需要些时间和耐心; 目前在不考虑编解码性能的情况下,能work around的方法只有一个,那…

APK加固(梆梆助手)

前言:朋友在使用梆梆时出现Apk加固后安装失败的现象,所以自己写篇小白文 1.进入梆梆官网(注册) 2.下载梆梆助手(点击加固工具) 本人电脑是Windows系统(下载) 3.安装后&#xff0c…

使用360进行apk加固并进行2次签名整体流程

因新版360加固助手需要付费才能进行自动签名,故只能自己手动来签名了~ 1.使用Android studio进行首次签名并打包apk 首先选择build下该选项 选择apk 如果没有key,则点击新建 需要输入key存储的位置,key store密码,key别名&#…