0
我在創建一個應用程序中有一種方法,可以用來玩戰爭,紙牌遊戲,這是一個故障。它應該隨機用arc4random_uniform生成一個數字,然後使用該數字來確定玩家擁有的牌,牌和等級。在此之後,套裝和等級用於顯示卡片圖像。除了它只顯示從8到Ace的牌之外,這種方法是有效的。我認爲這與我的randCard類型轉換有關,因爲我無法從邏輯上找到任何其他錯誤。Swift中的類型轉換arc4random_uniform()
@IBAction func showPlayerCard(sender: AnyObject) {
var randCard = arc4random_uniform(52)+1
var suit = ""
var rank = ""
var value = 0
if(randCard <= 13){
suit = " of Clubs"
}else if(randCard <= 26){
suit = " of Diamonds"
value = (Int)(randCard)/2
}else if(randCard <= 39){
suit = " of Hearts"
value = (Int)(randCard)/3
}else if(randCard <= 52){
suit = " of Spades"
value = (Int)(randCard)/4
}
switch value {
case 1:
rank = "2"
value = 2
case 2:
rank = "3"
value = 3
case 3:
rank = "4"
value = 4
case 4:
rank = "5"
value = 5
case 5:
rank = "6"
value = 6
case 6:
rank = "7"
value = 7
case 7:
rank = "8"
value = 8
case 8:
rank = "9"
value = 9
case 9:
rank = "10"
value = 10
case 10:
rank = "Jack"
value = 11
case 11:
rank = "Queen"
value = 12
case 12:
rank = "King"
value = 13
case 13:
rank = "Ace"
value = 14
default:
rank = ""
value = 0
}
var cardName = rank + suit
if(rank == ""){
cardName = "Ace" + suit
}
self.firstCardImageView.image = UIImage(named: cardName)
如果有人有如何解決這個問題的建議,將不勝感激。
哦,我忘了添加,我放在底部的if(rank ==「」),因爲有時隨機生成的卡片會是空白的;我相信是由於違約案件被觸發的結果。
謝謝。這是一個愚蠢的錯誤。 – Ulthran