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>
22 lines
574 B
Swift
22 lines
574 B
Swift
import Foundation
|
|
import SwiftData
|
|
|
|
@Model
|
|
final class PrefsRecord {
|
|
var themeId: String
|
|
var cardFaceStyle: String
|
|
var cardBackDesign: Int
|
|
var soundEnabled: Bool
|
|
var lastVariant: String
|
|
var lastDifficulty: String
|
|
|
|
init() {
|
|
self.themeId = GameTheme.classicGreen.id
|
|
self.cardFaceStyle = CardFaceStyle.classic.rawValue
|
|
self.cardBackDesign = CardBackDesign.blue.rawValue
|
|
self.soundEnabled = true
|
|
self.lastVariant = GameVariant.klondike.rawValue
|
|
self.lastDifficulty = Difficulty.medium.rawValue
|
|
}
|
|
}
|