新Swiftで行こう…第39回「ババ抜き8」 田部井保
ユーザーの前の人のカードをシャッフルする処理を加えます。とりあえず、一枚引くボタンのようにシャッフルするボタンを加えます。ユーザーが選ぶのは3番目とします。また、きちんと動いている事が判るようにカードが表のままにします。将来的にはカードを伏せ、一枚引くボタン、シャッフルするボタンをなくします。
以下、シャッフル部分のソースコードの例です。
@IBAction func shuffle(_ sender: Any) {
var i = 1
var kl = 0
var cardList: [Int] = []
for j in 0 ..< 14 {
if eachCard[i][j].tag == -1 {
kl = j
break
}
cardList += [eachCard[i][j].tag]
}
for j in 0 ..< kl {
let jj = Int.random(in: 0 ..< kl - j)
eachCard[i][j].tag = cardList[jj]
for k in jj ..< kl - j - 1 {
cardList[k] = cardList[k + 1]
}
}
show()
}
続いて、ユーザーが引くカードを選択する為のボタンを加えます。