SoliCards-iOS-iPadOS-MacOS/SoliCards/Models/Deck.swift
idev2025 de0da01f25 feat: SoliCards v1.2.0 — native SwiftUI solitaire for iOS, iPadOS, macOS
Complete native rewrite of the web-based SoliCards game as a SwiftUI
multiplatform app targeting iOS 17+, iPadOS 17+, and macOS 14+.

Three solitaire variants (Klondike, Spider, FreeCell) with full game
rules, drag & drop, smart zoom layout, 6 themes, 4 difficulty levels,
SwiftData persistence, VoiceOver accessibility, and 57 unit tests.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-14 08:26:14 -04:00

30 lines
772 B
Swift

import Foundation
enum Deck {
/// Creates a standard 52-card deck, shuffled.
static func standard() -> [Card] {
var cards: [Card] = []
for suit in Suit.allCases {
for rank in Rank.allCases {
cards.append(Card(suit: suit, rank: rank))
}
}
cards.shuffle()
return cards
}
/// Creates a double deck (104 cards) for Spider solitaire, shuffled.
static func double() -> [Card] {
var cards: [Card] = []
for _ in 0..<2 {
for suit in Suit.allCases {
for rank in Rank.allCases {
cards.append(Card(suit: suit, rank: rank))
}
}
}
cards.shuffle()
return cards
}
}