新Swiftで行こう…第39回「ババ抜き8」 田部井保

目次 解説編

 ユーザーの前の人のカードをシャッフルする処理を加えます。とりあえず、一枚引くボタンのようにシャッフルするボタンを加えます。ユーザーが選ぶのは3番目とします。また、きちんと動いている事が判るようにカードが表のままにします。将来的にはカードを伏せ、一枚引くボタン、シャッフルするボタンをなくします。

以下、シャッフル部分のソースコードの例です。

    @IBAction func shuffle(_ sender: Any) {
        var i = 1
        var kl = 0
        var cardList: [Int] = []
        for j in 0 ..< 14 {
            if eachCard[i][j].tag == -1 {
                kl = j
                break
            }
            cardList += [eachCard[i][j].tag]
        }
        
        for j in 0 ..< kl {
            let jj = Int.random(in: 0 ..< kl - j)
            eachCard[i][j].tag = cardList[jj]
            for k in jj ..< kl - j - 1 {
                cardList[k] = cardList[k + 1]
            }
        }
        show()
    }

 続いて、ユーザーが引くカードを選択する為のボタンを加えます。

目次 解説編

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA