2017-07-25 25 views
0

我跟着一個tut幫助我建立一個tic tac腳趾遊戲繼續學習斯威夫特。在這樣做的時候,我也想爲所有贏得的組合贏得勝利。在迅速 - 贏得行的井字遊戲

在我的代碼有

let winningCombinations = [0, 1, 2], [3, 4, 5], [6, 7, 8], [0, 3, 6], [1, 4, 7], [2, 5, 8], [0, 4, 8], [2, 4, 6]] 

這些按鈕的標籤。

我創建的標籤只是沒有文字的顏色條是斜槓。 我連接在它們一個作爲

@IBOutlet weak var lineFirstRow: UILabel! 

然後藏在故事板的標籤。

我一直在試圖像

let lineRowOne = [0, 1, 2] 

if lineRowOne = true { 
lineFirstRow.isHidden = true 
} else { 
lineFirstRow.isHidden = false 
} 

我知道這是不正確的事情。

+1

你到底想達到什麼目的?那個if語句有幾個錯誤的東西。首先,'='用於分配值,您必須使用'=='來檢查是否相等。其次,一個「Int」數組怎麼能被評估爲bool? –

+0

也許你可以從https://codereview.stackexchange.com/questions/117438/tic-tac-toe-in-swift得到一些想法。 –

+0

對不起,我是新來的swift,所以我知道我的代碼是不正確的。我玩過一個tic tac toe遊戲,我只是想更進一步,通過獲勝組合添加一個斜槓。 XmasRights代碼適合我的情況。 –

回答

0

不能完全確定你想達到什麼樣的,但我懷疑你的解決方案將是這樣的:

let winningCombinations = [[0, 1, 2], [3, 4, 5], [6, 7, 8], [0, 3, 6], [1, 4, 7], [2, 5, 8], [0, 4, 8], [2, 4, 6]] 

let lineOne = [0, 1, 2] 

if winningCombinations.contains(where: { $0 == lineOne }) 
{ 
    // Do Stuff 
} 
+0

太完美了!當我添加代碼並將其切換到'$ 0 == lineTwo'時,我將如何添加'let lineTwo = [3,4,5]'它不會改變任何內容。 –