Skip to content

Wenretium/Word-Games

Repository files navigation

Word-Games

C++实现带GUI背单词小游戏。

(详细介绍待补充,以后填坑。)

说在前面

📌 因为种种原因,展示视频非本人录制,可以说她是本游戏的首个玩家。

📌 本项目为2020年6月(大一下)C++编程语言课程期末大作业,为本人原创。本作品全程只用到本人一个肝。

📌 学生能力有限,这只是一份“幼稚”的代码,请各位包涵。且本项目暂时不再更新。

📌 本项目致敬自己的初心。

效果展示

🎞 b站展示视频戳这里

项目报告

(此部分写于2020.7,节选。)

自定义词汇考察范围,通过三个词汇小游戏( Word Games),帮助自己记忆单词。

游戏介绍

Game1

先在词汇表中随机挑选一个目标单词,在界面左下角呈现单词对应中文含义,同时各单词(含正确

答案和干扰项)从界面顶部陆续下落,玩家需通过键盘左右移动,接住目标单词。如接住目标单词,则得一 分,再次随机生成目标单词;如没接到目标单词,生命减一,再次随机生成目标单词;如接错单词,扣一分。 当生命值为零时,游戏结束,统计最终得分。

Game2

先在词汇表中随机挑选一个目标单词,在界面左下角呈现单词对应中文含义,同时将该单词按每个 字母进行拆分,随机出现在游戏界面上。玩家需按正确拼写用鼠标依次点击各字母。如拼写正确,得一分; 如拼写错误,生命减一。当生命值为零时,游戏结束,统计最终得分。

Game3

先在词汇表中随机挑选一个目标单词,在界面左下角呈现单词对应中文含义,同时将该单词按每个 字母进行拆分,以汉堡各层为形象依次下落。玩家需控制鼠标左右移动,接住各汉堡层并使它们尽量靠近中 轴线。一个汉堡完成后,界面将展示所拼凑的单词及其中文含义,得一分;若没能成功完成汉堡,则游戏直 接结束,统计最终得分。

游戏结束

(考虑到 Game3 并不能起到检验单词熟练度的功能,)在每轮 Game1 或 2 过后,程序会将已答对的单词从 我的专属词汇表中剔除,避免单词以后重复出现。 每轮游戏过后,将展示历史(含本次)最高分前五名。

内容设计方面的亮点

  1. 采用了 EasyX 图形库进行游戏界面的设计,用 Photoshop 软件对网络素材图片进行处理。

  2. 采用了分数、生命值、分数排行榜等竞技要素,增强了游戏的趣味性。

  3. 游戏中,单词的生成、对象的位置、对象移动速度等都为随机性设计,即每轮游戏都不是完全相同的,增强了游戏的趣味性。

  4. 历史游戏记录会保存在相应 txt 文档中,与词汇表一同置于项目文件夹内。通过此设计,玩家可以自定义自己的应背词汇表,且在每次游戏后自动更新自己的词汇表;如此轮游戏分数高于历史分数,则自动更新历史排行榜。

程序设计方面的亮点

  1. 大量使用 EasyX 图形库。

  2. 使用了窗口、系统时间、键盘、鼠标相关函数。

  3. 运用了所要求的绝大部分知识点, 并为项目服务。 例如, 用类与对象(共 9 个类) 进行封装,提高了程序的简洁度与可读性。 多处运用 vector、 deque、 list、 multimap 容器, 运用了 for_each 算法对容器元素进行遍历, 提高程序运行效率以保证游戏流畅度; random_shuffle 算法提高游戏随机性; find 算法剔除已背单词。 尝试使用“for (auto p : present_balls) p->print();” 写法进行遍历。

About

C++实现带GUI背单词小游戏

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages