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

2015-03-29

目次ページへ

ーーーYosemite Xcode6.1.1ーーー
自分のカードを並べ替える処理を追加します。

041-01

041-02

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

    var eachChangeButton: [UIButton] = []
    
    @IBAction func btnChangeTouch(sender: AnyObject) {
        var i = 2
        var kl = 0
        for j in 0 ..< 14 {
            if eachCard[i][j].tag == -1 {
                kl = j
                break
            }
        }
        
        for j in 0 ..< kl {
            let btn = UIButton(frame: CGRectMake(0, 0, 50, 21))
            btn.center = CGPointMake(50 + 40 * CGFloat(j % 7), 50 + 120 * CGFloat(i) + 50 * CGFloat(j / 7))
            btn.setTitle("◼︎", forState: .Normal)
            btn.setTitleColor(UIColor.blueColor(), forState: .Normal)
            btn.addTarget(self, action: "cardChangeTapped:", forControlEvents: .TouchUpInside)
            btn.tag = 0
            eachChangeButton += [btn]
            self.view.addSubview(btn)
        }
    }
    
    func cardChangeTapped(sender: UIButton) {
        var i = 2
        var j = 0
        var k = 0
        for cardBtn in eachChangeButton {
            if cardBtn == sender {
                break;
            }
            k++
        }
        var dis = false
        for cardBtn in eachChangeButton {
            if cardBtn.tag == 1 {
                var change = eachCard[i][j].tag
                eachCard[i][j].tag = eachCard[i][k].tag
                eachCard[i][k].tag = change
                cardBtn.setTitleColor(UIColor.blueColor(), forState: .Normal)
                cardBtn.tag = 0
                dis = true
                show()
                break
            }
            j++
        }
        if dis == false {
            sender.setTitleColor(UIColor.redColor(), forState: .Normal)
            sender.tag = 1
        }
    }

さて次回は、並び替えが終わった後の次の人が1枚引く処理を加えます。

目次ページへ

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