控制台小游戏框架

                        控制台小游戏框架

        通过几个月的C++学习,写了不少的控制台小游戏。写的时候发现游戏的各个部分的打印都是分别进行,在同一个位置往往打印不止一次,这样消耗了时间并且不利于管理。在之前我有简单的了解过cococs2dx,所以我想用一个Manager类管理屏幕上所有的东西。并且将数据与屏幕刷新分开,用一个类来控制显示。所以我初步定义了几个类:Manager、Camera、Node。Camera用来控制显示,Node是所有物体的基类。所有的物体都需要加入到Manager才被Camera显示。

        下面说一下Camera显示的方法,我用了一个屏幕对应大小的二维数组来缓存当前屏幕信息Arr1,还定义一个同样的二维数组用来接收下一次刷新后的屏幕信息Arr2。将Manager类的所有的物体从最底层一次覆盖到Arr2。如果直接用Arr2去重新打印一遍耗时套多,所以遍历Arr2中与Arr1不同的值,修改屏幕对应位置的信息,用以减少操作。代码如下,其中一部分代码是对中英文的不同处理


       代码太多还是不贴了, 其中还有一些小的知识点,包括多叉树的遍历查找、事件委托、同级子类的相互转换等等,有兴趣的可以看看源代码。其中有我简单做的一个背包,如下图


      源代码地址:源代码

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 14,803评论 4 61
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 177,170评论 25 709
  • 梦到河大 曾经的无月无星的黑夜 一直在寻找光明大道 可都是羊肠小道 都是泥泞不堪的故乡路 跨上河大的路 真不易 二...
    白丰阁阅读 1,859评论 0 2
  • 就现在,我正在写字的时候。是我刚看了十几集熊出没刷完微博玩完消消乐在等体力恢复的间隙。 我百无聊奈,开始了碎碎念模...
    不周姑娘阅读 1,207评论 0 0
  • 整体:画面大于2/3,表示强调自我存在,活动过度,对环境感知无压力,但内心紧张,好幻想,可能蕴含着幼稚,夸张及补偿...
    走路去旅行阅读 4,858评论 0 0

友情链接更多精彩内容