Eine Methode hinzufügen, Karte, wird eine vollständige deck von Karten, mit einer Karte von jeder Kombination von Rang und Anzug

Also ich mache die Experimente, die sind in dem Apple Swift Buch.

War ich in der Lage zu tun, alle von Ihnen, außer diesem einen, so weit. Unten ist das, was ich versucht habe, aber ich kann nicht herausfinden, wie es funktioniert.

Fügen Sie eine Methode zu Karte, dass wird eine vollständige deck von Karten, mit einer Karte von jeder Kombination von Rang und Anzug.

//Playground - noun: a place where people can play

enum Rank: Int {
    case Ace = 1
    case Two, Three, Four, Five, Six, Seven, Eight, Nine, Ten
    case Jack, Queen, King

    func simpleDescription() -> String {
        switch self {
            case .Ace:
                return "ace"
            case .Jack:
                return "jack"
            case .Queen:
                return "queen"
            case .King:
                return "king"
            default:
                return String(self.toRaw())
        }
    }
}

enum Suit {
    case Spades, Hearts, Diamonds, Clubs

    func simpleDescription() -> String {
        switch self {
            case .Spades:
                return "spades"
            case .Hearts:
                return "hearts"
            case .Diamonds:
                return "diamonds"
            case .Clubs:
                return "clubs"
        }
    }
}

struct Card {
    var rank: Rank
    var suit: Suit

    func simpleDescription() -> String {
        return "The \(rank.simpleDescription()) of \(suit.simpleDescription())"
    }

    func createFullDeck() -> Array{
        var FullDeck: Array

        FullDeck = Card(rank: .Ace, suit: .Spades)
        FullDeck = Card(rank: .Two, suit: .Spades)

        return FullDeck
    }
}

let threeOfSpades = Card(rank: .Three, suit: .Spades)
let threeOfSpadesDescription = threeOfSpades.simpleDescription()

threeOfSpades.createFullDeck()
  • Ich weiß nicht, was soll ich zurückgeben, die Methode, die ein Array?
  • Sollte ich eine for-Schleife verwenden um dies zu erstellen? oder gibt es eine richtige/einfacher Weg, dies zu tun mit enum
  • Warum würde ich diese Methode erstellen innerhalb von Karte, ruft threeOfSpades.createFullDeck() scheint nicht korrekt zu sein.
Schreibe einen Kommentar