Co!orMix小记-关于开发的那点儿事 | luckymore的学习笔记
前几天, 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 :游戏设置界面
项目结构
由于项目比较简单,所以并没有按照功能模块进行分类,项目的结构大致如下: