SimplePentomino的总结
一、由来
前段时间李san推荐了一个iphone上的五联方小游戏,觉得挺有意思。准备也下一个玩玩。可是回去一搜android上竟然没有这个游戏。决定自己搞一个,顺便也学习学习android,据说以后会很火。现在也差不多搞完了,回头总结一下。
二、概要设计
1、游戏页面的类图
GameActivity
?
GameController ←→ GameModel ← ΓMapModel ← MapFactory ← Helper
? |
GameView |_ ItemModel ← ItemFactory
GameContext、Utils、DBUtils
只是想做个自己玩玩,所以没搞图片,所有内容都通过*Model中的数组直接划的。Item的旋转也是通过数组的旋转来做的。
2、画面迁移
Menu ←→ MapList ←→ Game
?
Setting
3、开发难点
①、根据Model状态,设别各个事件。由于没用状态机,所以判断的条件比较乱
三、辅助工具
1、给定图片的地图取得
网上搞的各种地图图片,如果手工录入的话太花时间,就将图片划成小方格,取各个方格中心点的颜色来识别。虽然有些不能正确识别,但是大多数都没有问题。难识别的那就手工搞了。
2、给定地图的求解
就是穷举,做这种事情计算机还是比较在行的。就是算法的效率不高。所有的地图算下来要10个小时。不过就跑一次也懒得改进了。
四、总结
1、大概熟悉了Android的架构。
?动画那块设计的比较好,用的特别方便。
?我是先搞得Game*那块,自己画的View,开始就搞不清楚为什么要搞个Activity在那里碍事。后来做其他画面的时候发现有几个理由:
①View可以抽出用Layout来做,这样就必须找个地方写事件的控制代码
②当有多页内容是需要一个地方共同管理
③需要一个共通的窗口也其他Activity联系
2、了解一下Google market的发布流程
3、开发的过程中没有写测试代码,到后面有些代码就不敢随便重构了
4、之前的没做什么设计,大概考虑了一下就直接开始搞了,很多东西决定的比较仓促,后面也懒得改了。如MapModel中用了byte没用int,Controller中没用状态机等等
5、全局资源的初期化和释放没有好好规划
?应该加一个共同的Activity的父类,方便管理
?全局资源应该在程序开始统一初始化,这次搞得有点乱了
补充:移动开发 , Android ,