iOS開發數獨小遊戲例項

2022-09-20 09:12:13 字數 1438 閱讀 2364

如下圖。圖1是使用者開啟程式後的主頁面,點選「開始遊戲」後進入遊戲頁面(圖2,圖3)。遊戲介面上方是顯示條,顯示玩家當前選中的按鈕。當玩家想要在九宮格中填入數字時,只需點選下方1-9的數字控制項,顯示條上會自動顯示玩家當前選中的數字編號,再點選玩家想要填入的位置,就可以填入控制項了。

最下方三個按鈕分別是「提交」「橡皮擦」「標記」控制項。當玩家點選「提交」按鈕,系統會自動為玩家結算遊戲分數;當玩家點選「橡皮擦」時,可以擦除九宮格上指定位置的數字;當玩家點選「標記」時,可以為九宮格上的格仔新增乙個小紅旗作為標記。遊戲介面上方有乙個導航條,點選house圖示會回到主頁面。

1. 先搭入口介面,包括乙個image view和button,新增乙個viewcontroller作為遊戲介面,在入口介面和遊戲介面之間新增segue,當點選「開始遊戲」時跳轉到遊戲介面。

2.為遊戲介面新增必要的控制項,用9x9個button實現九宮格,新增9個數字按鈕和3個功能控制項,為了便於使用者使用,需要新增乙個顯示條。通過使用者按下button得知玩家想要在九宮上填入數字的位置座標,button通過tag識別。

3.關聯**。將九宮格,9個數字按鈕,以及3個功能控制項與**關聯,同時新建乙個board類,board類包含九宮格遊戲進度和答案計算等。

//// viewcontroller.swift

//import uikit

class viewcontroller: uiviewcontroller }}

@ibaction func setnumber(_ sender: uibutton)

}@ibaction func eraser(_ sender: uibutton)

@ibaction func finish(_ sender: uibutton) else

}@ibaction func backhome(_ sender: uibarbuttonitem)

override func viewdidload() }//

// board.swift

//import uikit

class board

func change(x: int, y: int, value: int)

func check() -> bool

if question[i][j] == 0 }}

//score = int(((countques - countcorrect) / countques) * 100)

score = int( ((countcorrect + countempty - 81) / countempty) * 100 )

if nowboard == answer else }}

優點:程式簡單,**量小,無複雜演算法。

缺點:遊戲盤面相對固定,未實現數獨盤面的隨機生成、自動生成數獨的解、以及不同難度生成。

本文標題: ios開發數獨小遊戲例項

本文位址:

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

包括9 9的數獨格仔還有填數的按鈕,以及填標記 就是說我這個地方不確定填哪個數,我都先標記上供參考 按鈕 標記功能效果如圖所示 1 繪製數獨格仔要考慮到標記功能 所以要在每個格仔內預先塞入9個標記數字,僅數獨格仔算下來就有9 9 9 729個格仔且存在大量巢狀 這導致我在操作storyboard時每...

leetcode 數獨遊戲

第乙個問題 用程式實現數獨的出題,而不是答題。換句話說就是驗證給定的乙個數獨中的九宮格,該九宮格是否滿足數獨遊戲的規則。數獨遊戲的規則是什麼 每一行沒有重複。每一列沒有重複。每乙個3x3的小格中沒有重複。方法一 一次迭代法 class solution validate a board for in...

數獨遊戲解密

includeusing namespace std struct board board myboard int grid 9 9 void initgrid board board int pregrid board board bool maybe board board,int i,int ...