Co!orMix小记-关于开发的那点儿事 | luckymore的学习笔记 

JerryXia 发表于 , 阅读 (18)
关于 Co!orMix

前几天, Cee 童鞋把 Co!orMix 开源了。当时刚上架的时候,团队里的另外两个童鞋都发了文,@Cee 讲产品,@Albus 讲设计(这两篇文章都在 V2EX 上发布过)。

既然代码开源了,那是时候说一下项目本身了。

Co!orMix 里面并没有什么特别有技术含量的东西,可以说,任何一个人都可以毫不费力地把它做出来。对于新手来说,也值得一试。不过毫不谦虚地说,如果要达到零错误率,还是有一定难度的,而上线至今,它的 Crash 率一直保持在 0 ,这是我所引以为豪的。(欢迎大家试玩!偷偷说一句,我可是跟组里承诺过,只要出现一个 crash ,就请吃饭的哦!)

动手之前的思考

无论是多简单的项目,开动之前必须要思考一下大致的架构。 Co!orMix 本身是一个相对很简单的游戏。

从页面考虑:主页、设置页、游戏界面、游戏结果页、引导页
从游戏本身考虑:题目、选项、得分、策略、游戏模式

第一天晚上我们三个人商量出了游戏的大致功能和规则,我和 Cee 便直接开始讨论起了实现。由于游戏本身的复杂度不高,我们决定采用最传统的 MVC 来完成这个应用。

  • Model 层
    CMCard :卡片(对应游戏界面上半部分)
    CMColor :颜色(游戏中所对应的颜色的概念)
    CMQuestion :问题(包含 CMCard ,以及对应的 Option 和 Answer )
    CMScene :游戏场景(对应一次游戏,根据游戏模式区分不同表现)
    Factory :工厂(工厂模式,生产问题)

  • View 层
    CMCardView :卡片 View
    CMQuestionView :问题 View
    CMScoreView :得分

  • Controller 层
    CMClassicTutorialViewController/CMFantasyTutorialViewController :新手引导
    CMGameResultViewController :游戏结果
    CMGameViewController :游戏界面
    CMMenuViewController :游戏菜单界面
    CMSettingViewController :游戏设置界面

项目结构

由于项目比较简单,所以并没有按照功能模块进行分类,项目的结构大致如下: