iOS開發 Swift開發數獨游戲(一)


一、前言

我姥姥是一名退休數學老師,一直很喜歡玩數獨游戲。我以前答應過她要給她寫一個數獨游戲。本來計划是寫一個Android應用的,但恰好我學了好長時間iOS開發一直沒做什么“大項目”練手,並且小姨給姥姥買了一個iPad玩。於是計划利用寒假過年的前五天,給姥姥用Swift寫一個iPad上的數獨游戲。現在(2月24日)游戲已經基本完成,於是記錄下編寫的思路、設計過程以及遇到的問題等。

二、需求分析

我的初步想法是做一個SingleView的應用足矣,但后來仔細分析加上我姥姥的要求,才發現沒有那么簡單。分類總結用到的知識點如下:

1、第一個界面是選關的界面

Screen Shot 2015-02-24 at 9.48.32 PM

1)需要UITableView以及相應數據代理、協議的實現

2)讀取plist文件並轉化成模型

3)在單元格點擊后進入數獨游戲,涉及到把數據經segue在UIViewController間傳遞

4)記錄某一關卡是否通過需要用到NSUserDefaults的存檔記錄功能

 

2、其次是游戲的界面

Screen Shot 2015-02-24 at 9.49.16 PM

包括9*9的數獨格子還有填數的按鈕,以及填標記(就是說我這個地方不確定填哪個數,我都先標記上供參考)按鈕

Screen Shot 2015-02-24 at 9.18.54 PM

標記功能效果如圖所示

1)數獨格子的建模

(1)繪制數獨格子要考慮到標記功能

所以要在每個格子內預先塞入9個標記數字,僅數獨格子算下來就有9*9*9=729個格子且存在大量嵌套(這導致我在操作Storyboard時每一個修改都要等待至少20s)

(2)數獨格子內部的Tag標記

為了方便編程時獲取相應格子的View,需要把每個格子打上Tag

(3)數獨格子的初始化

模型初始化包括背景色、填數操作 和 邊框粗細的調整

2)“選數視圖”與“選標記視圖”以及“其他按鈕”的建模

3)填數的游戲游戲規則的實現

(1)判斷一個格子能填什么數

(2)判斷游戲是否成功結束

 

3、看答案界面

Screen Shot 2015-02-24 at 9.50.34 PM

1)接收上個界面傳來的答案

2)顯示答案

 

4、其他

1)生成數獨關卡

(1)生成有解的數獨,如果有多解至多顯示兩個解就好(挖空數從挖40個空開始,最后挖到了60多個空)

(2)輸出成符合規范的plist文件

2)界面的美化

3)有待補充……

 

接下來的文章我會按照順序逐步總結具體的開發過程與經驗


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM