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

1、前言

我姥姥是一名退休數學老師,一直很喜歡玩數獨遊戲。我之前答應過她要給她寫一個數獨遊戲。原本計劃是寫一個Android應用的,但剛好我學了好長時間iOS開發一直沒作什麼「大項目」練手,而且小姨給姥姥買了一個iPad玩。因而計劃利用寒假過年的前五天,給姥姥用Swift寫一個iPad上的數獨遊戲。如今(2月24日)遊戲已經基本完成,因而記錄下編寫的思路、設計過程以及遇到的問題等。

2、需求分析

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

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

Screen Shot 2015-02-24 at 9.48.32 PM

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

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

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

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

 

二、其次是遊戲的界面

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)數獨格子的初始化

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

2)「選數視圖」與「選標記視圖」以及「其餘按鈕」的建模

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

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

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

 

三、看答案界面

Screen Shot 2015-02-24 at 9.50.34 PM

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

2)顯示答案

 

四、其餘

1)生成數獨關卡

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

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

2)界面的美化

3)有待補充……

 

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

相關文章
相關標籤/搜索