新Swiftで行こう…第41回「ババ抜き10」 田部井保
ユーザーがカードを引くボタンを加えて、引いた後の処理を追加します。
以下、追加部分のソースコードです。
@IBAction func btnHikuTouch(_ sender: Any) {
var i = 1
var kl = 0
for j in 0 ..< 14 {
if eachCard[i][j].tag == -1 {
kl = j
break
}
}
var k = 0
for j in 0 ..< kl {
if eachCardButton[j].tag == 1 {
k = j
break
}
}
var ii = 2
var stop = 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関数とほぼ同じです。次回は、この関数を汎用化します。