我的卡片由52張卡片組成,所以我爲他們創建了一個array
,並且當用戶點擊屏幕時,顯示卡片。使用後從數組中刪除元素 - 斯威夫特
我希望當一張卡被拉時,將來不能再拉它。我用removeAtIndex
從array
中取出拉出的卡。該功能pullCard
被稱爲當用戶觸摸在屏幕任意位置:
// Cards
let card1 = (1, "AS", "RULE 1")
let card2 = (2, "2", "RULE 2")
let card3 = (3, "3", "RULE 3")
let card4 = (4, "4", "RULE 4")
let card5... (to 52)
// Array
var cards = [
card1,
card2,
card3,
card4,
card5... (to 52)
]
func pullCard() {
let randomCard = Int(arc4random_uniform(UInt32(cards.count)))
let cardsIndex = randomCard - 1
let card = cards[cardsIndex]
cards.removeAtIndex(cardsIndex)
}
每例如,遊戲將卡32,所以從陣列中刪除它,如果遊戲拉在同一張卡,它崩潰後因爲卡被刪除了。
我試圖用一個if語句:
if cards[cardsIndex] == nil {
pullCard()
}
但它不工作。 請幫我:)
你的意思是你的if語句是'cards [cardsIndex]!= nil'? – keithbhunter