c语言做游戏心得(C语言GUI编程之数字记忆游戏)
学以致用,为了使C语言的学习和运用不那么枯燥,做一些GUI项目,所见即所得,能够激发兴趣,也有更大的成就感。
使用EasyXEasyX 是针对 C 的图形库,可以帮助 C/C 初学者快速上手图形和游戏编程。
EasyX支持VC 以及Visual Studio,我使用的是Visual Studio 2022。
去官网下载最新版安装即可,会自动识别Visual Studio的库文件夹路径并,这点很方便。
安装EasyX
产品说明游戏玩法
游戏玩法挺简单的,就是随机几个数字到棋盘格子上,过几秒后数字隐藏掉,玩家按照数字大小顺序点击对应的格子,正确地点击完数字即闯关成功,每闯一关增加一个数字。
核心功能
游戏的玩法实现是项目的核心功能,从关卡初始化到关卡的升级,最终到关卡结束。
数字记忆游戏
功能扩展
- 计时器:显示闯关所用的时间
- 排行榜:输入玩家昵称,展示TOP10的闯关时间
- 设置中心:背景音乐开关、游戏中的音效
产品需求
项目立项开发前要了解完整的产品需求,然后去做技术选型以及人员的配置,并制定出项目的开发周期和重要节点。这里我们简单列一下产品的功能。
产品功能
模块拆分
项目开发需要多人配合,所以要做模块拆分,不同的人完成不同的功能模块。即使只有一个人开发,也要做好规划,分清主次。下面是对本项目简单的模块拆分。
模块拆分
如果模块A中需要调用模块B中的函数,而模块B还没有开发,那么我们通常的做法是在模块B中定义一个空白函数(规定好输入输出),这样不会打断模块A的开发进程,等A阶段性的完成之后再去完善模块B中的函数即可。
文件规划
项目文件的目录结构一般都是根据模块划分来定的。
- 配置文件:存放一些常量,比如游戏要素、颜色、文本信息等
- 二进制文件:保存游戏过程中的数据,比如排行榜、游戏设置等,本项目没必要使用专业的数据库,用二进制文件来存储数据即可
- 数据模型文件:把游戏里的要素抽象成数据模型,比如数字卡片数据结构包含数字、坐标、下一个数字等
- 游戏画面绘制文件:负责游戏的初始化绘制、关卡信息提示等
- 游戏逻辑控制文件:数字卡牌点击反馈、关卡切换、用户输入等交互性的逻辑
- 定时器、排行榜、游戏设置三个文件
C语言是面向过程的语言,但我们尽量使用面向对象的思想去编程,把业务拆分、解耦,然后进行模块化开发。
具体到模块功能的开发,根据实际情况再去实现具体每个小功能程序的算法,到最后连接起来就串通了整个项目。
之前《C程序设计》中提到算法是程序的灵魂,而现在我们所做的就是给出了这个“数字记忆游戏”的算法思路。
接下来就让我们一起学习,通过实战来真正的掌握C语言!
,免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com