為了學習Android,自己編了一個小游戲,數獨。
特點:
1.自動分析可選數字。
2.自動判斷結果
3.支持Undo功能(Command設計模式)
4.支持自編題目。
功能簡介
主畫面
功能:
1.點擊項目選擇題目
2.按【Menu】鍵新建題目
3.長按項目選擇刪除或編輯題目
游戲/編輯畫面
功能:
1.按數字按鈕選擇數字(置灰按鈕不可選)
2.按【Undo】按鈕取消上一步操作
3.編輯狀態時按下【menu】鍵可以選擇清除輸入結果或保存題目
游戲狀態下按下【menu】鍵可以選擇清楚輸入結果或啟動自動填寫功能(根據現在狀態可以判斷的部分)
基本的想法
最初的時候,每個格都有選擇所有數字的機會,當相同行或相同列或相同塊的其他格選擇了某數字是,這個數字就不能再選。
當一個格的可選數字之剩一個時,就作為答案使用,這是這個結果又會影響其他的同行,同列及同塊的格。有點遞歸的感覺。當一個格裡的可選數字都沒有了的時候,判定失敗。
為了在選錯的時候,有取消的機會,通過Command設計模式實現的動作的記錄和恢復。這裡麻煩一點的是在某一格的數組決定以後,會對其他各有影響,需要記錄所有的變化。
挺復雜的吧,其實代碼比想象的要簡單。
工程文件和源代碼下載:
免費下載地址在 http://linux.linuxidc.com/
用戶名與密碼都是www.linuxidc.com
具體下載目錄在 /2012年資料/5月/26日/Android游戲開發:數獨(附源碼)
更多Android相關信息見Android 專題頁面 http://www.linuxidc.com/topicnews.aspx?tid=11