记忆大比拼游戏,C语言GUI编程之数字记忆游戏-项目构建
学以致用,为了使C语言的学习和运用不那么枯燥,做一些GUI项目,所见即所得,能够激发兴趣,也有更大的成就感。
使用EasyX
EasyX 是针对 C++ 的图形库,可以帮助 C/C++ 初学者快速上手图形和游戏编程。
EasyX支持VC++以及Visual Studio,我使用的是Visual Studio 2022。
去官网下载最新版安装即可,会自动识别Visual Studio的库文件夹路径并,这点很方便。
产品说明
游戏玩法
游戏玩法挺简单的,就是随机几个数字到棋盘格子上,过几秒后数字隐藏掉,玩家按照数字大小顺序点击对应的格子,正确地点击完数字即闯关成功,每闯一关增加一个数字。
核心功能
游戏的玩法实现是项目的核心功能,从关卡初始化到关卡的升级,最终到关卡结束。
功能扩展
计时器:显示闯关所用的时间
排行榜:输入玩家昵称,展示TOP10的闯关时间
设置中心:背景音乐开关、游戏中的音效
项目开发
产品需求
项目立项开发前要了解完整的产品需求,然后去做技术选型以及人员的配置,并制定出项目的开发周期和重要节点。这里我们简单列一下产品的功能。
模块拆分
项目开发需要多人配合,所以要做模块拆分,不同的人完成不同的功能模块。即使只有一个人开发,也要做好规划,分清主次。下面是对本项目简单的模块拆分。
如果模块A中需要调用模块B中的函数,而模块B还没有开发,那么我们通常的做法是在模块B中定义一个空白函数(规定好输入输出),这样不会打断模块A的开发进程,等A阶段性的完成之后再去完善模块B中的函数即可。
文件规划
项目文件的目录结构一般都是根据模块划分来定的。
配置文件:存放一些常量,比如游戏要素、颜色、文本信息等
二进制文件:保存游戏过程中的数据,比如排行榜、游戏设置等,本项目没必要使用专业的数据库,用二进制文件来存储数据即可
数据模型文件:把游戏里的要素抽象成数据模型,比如数字卡片数据结构包含数字、坐标、下一个数字等
游戏画面绘制文件:负责游戏的初始化绘制、关卡信息提示等
游戏逻辑控制文件:数字卡牌点击反馈、关卡切换、用户输入等交互性的逻辑
定时器、排行榜、游戏设置三个文件
编程思想
C语言是面向过程的语言,但我们尽量使用面向对象的思想去编程,把业务拆分、解耦,然后进行模块化开发。
具体到模块功能的开发,根据实际情况再去实现具体每个小功能程序的算法,到最后连接起来就串通了整个项目。
之前《C程序设计》中提到算法是程序的灵魂,而现在我们所做的就是给出了这个“数字记忆游戏”的算法思路。
接下来就让我们一起学习,通过实战来真正的掌握C语言!
记数字游戏能锻炼,当经典卡牌与经典战棋相遇之后,《破月勇者》就诞生了
记数字顺序的游戏,《神领编年史》,做成手游可能更合适些
记一次游戏数字陷阱,五上数学 第三单元 用计算器探索规律 逐字稿
瞬时记忆数字的游戏,「7.0」《神领编年史》,做成手游可能更合适些
提高记忆力的游戏记数字的游戏,国内数藏玩法传奇类手游即将上线 世纪华通数河平台定档首发
认识数字的小游戏,账号太多密码难记 管理工具应运而生 记录密码“神器”能否解决记忆困境
精选推荐
- [记忆方法] 最有效的备考方法,法考如何备考,2021年高考备考:8种高效记忆方法
- [记忆方法] 考前快速大量记忆技巧,最有效的备考方法,考前冲刺:一消备考也要动脑筋,这样记忆方法大多数考生并不知道
- [记忆方法] 怎样快速记忆知识点且记得牢,考前快速大量记忆技巧,会计从业备考不放假,六大归纳记忆法带你飞!
- [记忆方法] 快速记忆方法的小窍门,怎样快速记忆知识点且记得牢,这些记忆方法让你学习、备考的效率大大提升!
- [精品记忆课] 记忆课程有没有效果,记忆力课程,“超强记忆”吸引家长买了课,没上几节校长就失联,41名家长能要回16万余元的培训费用吗?
- [精品记忆课] 最强大脑记忆训练法视频,记忆课程有没有效果,超强记忆系统课_第2节 底层逻辑篇 超强记忆系统课_第2节
- [古诗词记忆] 孩子记忆力差,背书困难怎么办,有什么快速背书的方法,有用的背书方法,快收藏码住吧~
- [记忆方法] 记忆的方法和技巧,记忆宫殿训练方法,技巧:熟记这些顺口溜,轻松记忆历史朝代知识
- [记忆方法] 历史朝代记忆口诀,记忆的方法和技巧,我国历史朝代顺序记忆口诀
- [古诗词记忆] 文科怎么背怎样才能记得住,文科背书怎么背得快又牢固,文科成绩难提高?你需要这12个方法