[Android]開發數獨遊戲思路分析過程

來源:互聯網
上載者:User

標籤:數獨遊戲   android   

  數獨遊戲風靡已久,下面就將開發一款數獨遊戲的Android應用過程進行分解和說明。

  

  先,再逐次分析開發這款遊戲的涉及到的技術點,遊戲邏輯。


  650) this.width=650;" src="http://s3.51cto.com/wyfs02/M00/59/93/wKioL1TYkbLDpk0BAAKbnygWCM4621.jpg" title="Screenshot_2015-02-09-18-44-51.png" width="269" height="480" border="0" hspace="0" vspace="0" style="width:269px;height:480px;" alt="wKioL1TYkbLDpk0BAAKbnygWCM4621.jpg" />


  簡述:數獨遊戲是通過在9*9(大九宮格)的格子中空白的格子填寫1-9中的任意一個數字,使得每一個行和每一列都由1-9這10個數字填滿,並且在每3*3(小九宮格)的格子中同樣也是由1-9這10個數組填滿。即表示遊戲完成。


  分析遊戲邏輯:

  1. 遊戲中的每個格子可能的數字有1-9

  2. 遊戲開始顯示的數字,通過一份完整的數獨,將部分格子設為空白,得到遊戲初始值

  3. 遊戲中的每個空白欄框子可以填寫的數字是:同一行未出現的數字,同一列未出現的數字,同一個3*3的九宮格中未出現的數字三部分的交集

  4. 遊戲中的每個格子的三種狀態:答案數字(即正確的數字),初始化數字(即遊戲開始是數字,顯示有數字或者空白),當前數字(即玩家填寫前,後的數字)

  5. 遊戲完成的條件是滿足簡述中說明的情況


 遊戲設計

  1. 繪製遊戲介面,大九宮格和小九宮格,如,小九宮格用白色線條分割

  2. 遊戲格子中數字繪製,且字型在格子中置中顯示,初始值為黑色,填寫值為藍色(顏色僅為參考)

  3. 遊戲互動事件處理,點擊小格子,提示玩家選擇填寫的數字,並將選擇的數字繪製到所點擊的格子中

  4. 根據遊戲完成的條件判斷遊戲是否完成


 涉及到的技術點:

  1. Android的View繪製(不限於此方式)

  2. 9*9的矩陣行與列,格子相對位置等計算

  3. 螢幕點擊格子的事件處理



 實現步驟:

  1. 遊戲邏輯

  2. 遊戲顯示視圖,無論是Android,HTML上都將通用1中的遊戲邏輯

  3. 操作事件,特性環境下做相應的事件處理


 遊戲的資料結構設計的恰當,則判斷遊戲是否完成就變得容易,依照文中遊戲邏輯部分4中所述,判斷遊戲是否完成就可以使用如下代碼判斷:

 

public boolean isWon() {for (int i = 0; i < originalStatus.length; i++) {if (currentStatus[i] != originalStatus[i]) {return false;}}return true;}


 更詳細的實現參見:https://git.oschina.net/secondriver/Sudo.git 

本文出自 “野馬紅塵” 部落格,謝絕轉載!

[Android]開發數獨遊戲思路分析過程

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.