代码
import Foundation
enum Suit: String, CaseIterable {
case hearts = "♥"
case diamonds = "♦"
case clubs = "♣"
case spades = "♠"
}
enum Rank: String, CaseIterable {
case ace = "A"
case two = "2", three = "3", four = "4", five = "5", six = "6", seven = "7", eight = "8", nine = "9", ten = "10"
case jack = "J", queen = "Q", king = "K"
}
struct Card {
let rank: Rank
let suit: Suit
var description: String {
return "\(rank.rawValue)\(suit.rawValue)"
}
}
var deck = [Card]()
for suit in Suit.allCases {
for rank in Rank.allCases {
let card = Card(rank: rank, suit: suit)
deck.append(card)
}
}
let shuffledDeck = deck.shuffled()
for card in shuffledDeck {
print(card.description)
}
运行结果
K♦
3♥
6♣
2♠
3♠
2♦
10♥
A♦
A♥
6♠
8♦
6♦
2♣
10♦
7♦
5♣
3♣
8♥
10♠
9♥
6♥
8♣
Q♦
10♣
4♣
7♥
A♣
K♠
8♠
9♠
K♥
J♠
4♠
Q♥
5♥
Q♣
4♦
J♦
J♣
K♣
4♥
3♦
5♠
2♥
A♠
Q♠
7♠
9♦
5♦
J♥
7♣
9♣