SimplePentomino的總結 – Android移動開發技術文章_手機開發 Android移動開發教學課程

 

一、由來

  前段時間李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的父類,方便管理

    ?全局資源應該在程序開始統一初始化,這次搞得有點亂瞭

You May Also Like