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

目次 解説編

 ユーザーがカードを引くボタンを加えて、引いた後の処理を追加します。

以下、追加部分のソースコードです。

    @IBAction func btnHikuTouch(_ sender: Any) {
        var i = 1
        var kl = 0
        for j in 0 ..< 14 {
            if eachCard[i][j].tag == -1 {
                kl = j
                break
            }
        }
        var k = 0
        for j in 0 ..< kl {
            if eachCardButton[j].tag == 1 {
                k = j
                break
            }
        }
        
        var ii = 2
        var stop = false
        if eachCard[i][k].tag != 52 {
            for jj in 0 ..< 14 {
                if stop {
                    eachCard[ii][jj - 1].tag = eachCard[ii][jj].tag
                }
                if eachCard[ii][jj].tag == -1 {
                    break
                }
                if eachCard[ii][jj].tag == 52 {
                    continue
                }
                if (eachCard[ii][jj].tag % 13) == (eachCard[i][k].tag % 13) {
                    stop = true
                }
            }
        }
        if stop == false {
            for jj in 0 ..< 14 {
                if eachCard[ii][jj].tag == -1 {
                    eachCard[ii][jj].tag = eachCard[i][k].tag
                    break
                }
            }
        }
        for j in k + 1 ..< 14 {
            eachCard[i][j - 1].tag = eachCard[i][j].tag
        }
        eachCard[i][13].tag = -1
        show()
        
        for cardBtn in eachCardButton {
            cardBtn.removeFromSuperview()
        }
        eachCardButton.removeAll()
    }

 さて、今回追加した関数、hiku関数とほぼ同じです。次回は、この関数を汎用化します。

目次 解説編

コメントを残す

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

CAPTCHA