為了學習Android,自己編了一個小游戲,就是9宮格。
特點:
1.自動分析可選數字。
2.自動判斷結果
3.支持Undo功能(Command設計模式)
4.支持自編題目。
功能簡介
主畫面
功能:
1.點擊項目選擇題目
2.按【Menu】鍵新建題目
3.長按項目選擇刪除或編輯題目
游戲/編輯畫面
功能:
1.按數字按鈕選擇數字(置灰按鈕不可選)
2.按【Undo】按鈕取消上一步操作
3.編輯狀態時按下【menu】鍵可以選擇清除輸入結果或保存題目
游戲狀態下按下【menu】鍵可以選擇清楚輸入結果或啟動自動填寫功能(根據現在狀態可以判斷的部分)
基本的想法
最初的時候,每個格都有選擇所有數字的機會,當相同行或相同列或相同塊的其他格選擇了某數字是,這個數字就不能再選。
當一個格的可選數字之剩一個時,就作為答案使用,這是這個結果又會影響其他的同行,同列及同塊的格。有點遞歸的感覺。
當一個格裡的可選數字都沒有了的時候,判定失敗。
為了在選錯的時候,有取消的機會,通過Command設計模式實現的動作的記錄和恢復。這裡麻煩一點的是在某一格的數組決定以後,會對其他各有影響,需要記錄所有的變化。
挺復雜的吧,其實代碼比想象的要簡單。
資源連接:
工程/源碼:
免費下載地址在 http://linux.linuxidc.com/
用戶名與密碼都是www.linuxidc.com
具體下載目錄在 /pub/Android源碼集錦/2011年/10月/Android小游戲九宮格源碼/
類圖:Android小游戲-9宮格類圖類圖,配合源碼、請用EA(Enterprise Architect)打開
下載在Linux公社的1號FTP服務器裡,下載地址:
FTP地址:ftp://www.linuxidc.com
用戶名:www.linuxidc.com
密碼:www.muu.cc
在 2011年LinuxIDC.com\10月\Android小游戲九宮格類圖
下載方法見 http://www.linuxidc.net/thread-1187-1-1.html
下圖中綠色的類就是Command模式相關的類。