当前位置:操作系统 > 安卓/Android >>

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 ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,