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

2015-04-18

目次ページへ

ーーーYosemite Xcode6.1.1ーーー
例外として前回は考慮しなかった、1番目と2番目が選ばれた時の処理を追加します。
また、配り直しボタンを押した時に、選択用の青ガイドが出ていたら消す処理も加えます。
以下、変更部分のソースコードです。

    @IBAction func btnGoTouch(sender: AnyObject) {
        share()
        show()
        for cardBtn in eachCardButton {
            cardBtn.removeFromSuperview()
        }
        eachCardButton.removeAll()
        for changeBtn in eachChangeButton {
            changeBtn.removeFromSuperview()
        }
        eachChangeButton.removeAll()
    }
    
    @IBAction func btnPairTouch(sender: AnyObject) {
        var selected:Bool = false
        for i in 0 ..< 4 {
            if eachButton[i].currentTitle == "⚫️" {
                selected = true
                mine = i
                break
            }
        }
        if !selected {
            var alert = UIAlertView()
            alert.title = "選択"
            alert.message = "4組のうちのどれかを選択して下さい。"
            alert.addButtonWithTitle("OK")
            alert.show()
            return
        }
        btnEnable = false
        for i in 0 ..< 4 {
            for j in 0 ..< 13 {
                if (eachCard[i][j].tag == 52) || (eachCard[i][j].tag == -1) {
                    continue
                }
                for k in j + 1 ..< 14 {
                    if (eachCard[i][k].tag == 52) || (eachCard[i][k].tag == -1) {
                        continue
                    }
                    if (eachCard[i][j].tag % 13) == (eachCard[i][k].tag % 13) {
                        eachCard[i][j].tag = -1
                        eachCard[i][k].tag = -1
                        break
                    }
                }
            }
            var find: Bool = false
            var k: Int = 0
            for j in 0 ..< 14 {
                if eachCard[i][j].tag == -1 {
                    find = true
                } else {
                    if find {
                        eachCard[i][k].tag = eachCard[i][j].tag
                        eachCard[i][j].tag = -1
                    }
                    k++
                }
            }
        }
        show()
        step = 0
        if mine == 0 {
            btnChangeTouch()
        } else if mine == 1 {
            get()
        }
    }

さて、次回はカードが無くなって、あがった人に順位を付けて、ゲームからは抜ける処理を加えます。

目次ページへ

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