基于C++GUI背单词小游戏设计与实现

Word-Games

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

说在前面

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

本项目为C++编程语言开发。

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

本项目致敬自己的初心。

效果展示

基于C++GUI背单词小游戏设计与实现_第1张图片
基于C++GUI背单词小游戏设计与实现_第2张图片
基于C++GUI背单词小游戏设计与实现_第3张图片
基于C++GUI背单词小游戏设计与实现_第4张图片
基于C++GUI背单词小游戏设计与实现_第5张图片
基于C++GUI背单词小游戏设计与实现_第6张图片

项目报告

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

游戏介绍

Game1

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

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

Game2

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

Game3

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

游戏结束

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

内容设计方面的亮点

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

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

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

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

程序设计方面的亮点

  • 大量使用 EasyX 图形库。

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

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

你可能感兴趣的:(c++,css3,开发语言,背单词游戏,单词学习软件)