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

2015-03-08

目次ページへ

ーーーYosemite Xcode6.1.1ーーー
さて、コンピュータが前の人のカードを引く処理を付け加えます。最初は難しくならないように二番目の組の人が、一番上の組から一枚引く処理を付け加えます。ユーザーは3番目か4番目の組を選ぶ事とします。

036-01

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

    @IBAction func hiku(sender: AnyObject) {
        var i = 0
        var kl: UInt32 = 0
        for j in 0 ..< 14 {
            if eachCard[i][j].tag == -1 {
                kl = UInt32(j)
                break
            }
        }
        var k:Int = Int(arc4random_uniform(kl))
        
        var ii = 1
        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()
    }

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

目次ページへ

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