2014-10-12 34 views
1

我正在開發一個撲克應用程序。我有2個問題,,,卡在DeckOfCards類

1)剛開始工作DeckOfCards類來處理甲板。我在其中一個for循環中不斷收到錯誤(「預期聲明」)。它在遊樂場工作,但不在項目中(儘管不是一個班級)。我該如何解決?

2)可以用這種方式表示卡(數組中的2個字符串)嗎?

進口基金會

class DeckOfCards { 

    var newDeck = ["A♠️", "2♠️", "3♠️", "4♠️", "5♠️",...."K♠️", 
        "A♥️", "2♥️", "3♥️", "4♥️", "5♥️",...."K♥️", 
        "A♣️", "2♣️", "3♣️", "4♣️", "5♣️",...."K♣️", 
        "A♦️", "2♦️", "3♦️", "4♦️", "5♦️",...."K♦️"] 

    var deck = [String]() 
    var randomNumber = 0 

    init() { 
     deck = [] 
    } 


    for _ in 1...52 { // ERROR ON THIS LINE ("Expected Declaration") 
     randomNumber = Int(arc4random_uniform(UInt32(newDeck.count))) 
     deck.append(newDeck.removeAtIndex(randomNumber)) 
    } 


} 

回答

1

這是因爲你根本不可能有代碼掛像這樣的類定義中。你需要把它放在func。例如

func shuffleDeck() -> [String] { 
    var deck = [String]() 
    for _ in 1...52 {  
     randomNumber = Int(arc4random_uniform(UInt32(newDeck.count))) 
     deck.append(newDeck.removeAtIndex(randomNumber)) 
    } 
    return deck 
} 

要回答你的問題的第二部分,你最好使用enum代表卡。這裏是一個很好的例子:Add a method to Card that creates a full deck of cards, with one card of each combination of rank and suit

+0

根本沒有意識到這個錯誤。我正在對待這個班級,就好像它是一個大功能!我還有很多要學習的,哈哈。謝謝!! – Fred 2014-10-12 06:37:39

+0

不用擔心。犯錯誤總是學習新語言的一部分。乾杯 – 2014-10-12 06:39:09