C++ 是如何从代码到游戏的?( 二 )


文章插图

嗯......这下终于像点样了 。
最后再加亿点点核心逻辑:点击两个相同的图片,判断它能不能连通,如果能连通,就把这两个按钮直接delete掉,效果就是酱紫:
C++ 是如何从代码到游戏的?

文章插图
就是这样咯,从你学过的C++基础语法,结合现有的框架控件,就可以撸这样一个简单的连连看 。
当然了,为了点燃你题目里想要的学习热情,我故意避开一些以你现有知识可能听不懂的部分,还有一些逻辑比较绕的部分 。比如:
避开了注册按钮的回调,
避开了随机生成图片的时候要保证成对出现的算法,
避开了把这些按钮和数据做关联,
避开了如何通过数据计算两点能否连通,
等等
但这都不重要,不妨碍你简单体验一下C++是如何从代码到游戏的这个过程 。
从图片素材上你们也看出来了,这代码是两三年前的,那个时候还在做培训机构的辅导老师,学生们爱打游戏,不好好上课,就做的这个上课带她们写:
https://github.com/TheThreeDog/PictureMatching
因为本身我不打荣耀,所以里面的头像确实一个也不认识,都是那时候为了勾引学生好好上课,现在游戏里的头像应该有不少都更新好几茬儿了 。
这个玩意儿是用Qt C++写的 。因为本身对帧率没什么要求,所以基于Qt就可以搞 。如果要玩一些真正的游戏(画面需要帧率级别的刷新的),一定要上游戏引擎写的 。cocos2d unity3d 什么的 。
当然,我上面说游戏无非是一堆图形堆叠呗只是为了讲解故意压低一下难度,真正的游戏开发是非常复杂庞大的 。
这个小项目确实像上面写的一样,用了大量的TD开头的控件 。这个源自于我的一个开源框架叫做TD-Framework
http://www.threedog.top/
因为我叫三级狗(ThreeDog)所以控件普遍用TD开头 。Qt本身没有提供这种直接用图片构造控件的方法,所以就自己造了一些 。
写下它的时候还是大四刚毕业,那时候我还把这玩意儿叫框架,现在……我觉得还是叫玩具更合适些:跨平台编译不过,函数指针强转有问题,代码也写的乱七八糟……
内容来源作者知乎:
C++到底是如何从代码到游戏的?- 三级狗的回答 - 知乎 https://www.zhihu.com/question/385197253/answer/1170395776

【C++ 是如何从代码到游戏的?】


推荐阅读