孫小華 河北軟件職業技術學院
引言:隨著信息技術和電子設備業的迅猛發展,Android智能手機已走進每個人的生活。人們的物質生活越來越優越,使得人們的精神生活需求越來越多,人們需要更多的游戲軟件來打發自己的空閑時間,豐富自己的精神生活。為了滿足廣大手機用戶的需求,順應市場形勢,滿足人們對Android手機游戲開發的好奇心,本文在此借助于Android平臺上的數獨手機游戲設計開發,講解基于Android平臺的手機游戲開發的基本過程。
數獨是一種邏輯性的數字填充游戲。玩家需要根據9×9盤面上的已知數字,推理出所有剩余空格的數字,并滿足每一行、每一列、每一個粗線宮(即3x3的大格)內的數字均含1-9,不重復。
(1)點擊數獨游戲的APP圖標,直接進入游戲;(2)點擊主界面的空格,將出現對應的數字提示對話框;(3)點擊提示框中的數字,填入空格中;(3)當空格中的數字都填寫正確時,出現恭喜界面。
游戲主界面設計中,需要解決的關鍵技術如下:
設計ArrayRandom類,主要負責生成九宮格中的初始化數據,判斷每行、每列以及每個宮格內的數字不重復等功能。宮格內產生1-9之間隨機數字運用的規則是:生成的隨機數字放置在數組8-time下標的位置,隨著time的增加,已經嘗試過的數字將不會再取到。
設計MyView類,繼承自View類,主要完成九宮格及數字的繪制工作。繪制九宮格采用分步繪制的方法。第一步,繪制小網格線,添加背景色;第二步,繪制大網格線(宮格線)。九宮格中有關數字的邏輯運算交由Game類完成。
當用戶按下九宮格中空格時,給用戶提示對話框,提示用戶可選的數字。用戶按下空格發生單點觸摸事件,需要處理的關鍵問題有:計算某個單元格中已經不可用的數據;對話框顯示可用數據;將選定數據顯示到單元格中。
數獨游戲的程序結構圖如下所示:

圖1 程序結構圖
利用游戲的運行過程,說明各個類在游戲中的所起作用,具體如下:啟動游戲,MainActivity開始運行,創建MyView對象,利用ArrayRandom生成初始數據,通過MyView中的繪制方法顯示初始界面。當用戶點擊空格時,從Game中獲取可用數據,將可用數據顯示到KeyGialog對話框中,點擊選擇對話框中的可用數字,被選擇的數字通過MyView中的重繪方法刷新界面。當單元格中的空格都填滿數字時,游戲結束。

圖2 游戲的初始界面

圖3 提示對話框

圖4 勝利界面
此數獨游戲使用Eclipse集成工具,采用Java語言開發,從面向對象的思維方式設計項目中的各個類,實現類之間相互通信。測試的結果表明,數獨游戲運行正常,達到了休閑娛樂、鍛煉邏輯思維能力的目的,完成效果良好。