Swiftで行こう…第39回「ババ抜き10」(もちゃち)

2015-03-22

目次ページへ

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

039-01

039-02

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

    @IBAction func btnHikuTouch(sender: AnyObject) {
        var i = 1
        var kl = 0
        for j in 0 ..< 14 {
            if eachCard[i][j].tag == -1 {
                kl = j
                break
            }
        }
        var k:Int = 0
        for j in 0 ..< kl {
            if Int(eachCardButton[j].tag) == 1 {
                k = j
                break
            }
        }
        
        var ii = 2
        var stop: Bool = 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関数とほぼ同じです。次回は、この関数を汎用化します。

目次ページへ

Since1991 © Shimayugu All Rights Reserved.
アップルおよびアップルのロゴは、米国および他の国々で登録されたApple Inc.の商標です。
湘南マッキントッシュユーザーズグループは、独立したユーザグループで、Apple Japan合同会社が権限を与えた団体、支援する団体、またはその他に承認する団体ではありません。