SimplePentomino的總結

來源:互聯網
上載者:User

 

一、由來

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

    ?全域資源應該在程式開始統一初始化,這次搞得有點亂了

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.