import Foundation import SwiftData @Model final class StatsRecord { var variant: String var difficulty: String var gamesPlayed: Int var gamesWon: Int var bestScore: Int var bestTime: Int var currentStreak: Int var bestStreak: Int init(variant: GameVariant, difficulty: Difficulty) { self.variant = variant.rawValue self.difficulty = difficulty.rawValue self.gamesPlayed = 0 self.gamesWon = 0 self.bestScore = 0 self.bestTime = Int.max self.currentStreak = 0 self.bestStreak = 0 } func recordWin(score: Int, time: Int) { gamesPlayed += 1 gamesWon += 1 if score > bestScore { bestScore = score } if time < bestTime { bestTime = time } currentStreak += 1 if currentStreak > bestStreak { bestStreak = currentStreak } } func recordLoss() { gamesPlayed += 1 currentStreak = 0 } var winRate: Double { guard gamesPlayed > 0 else { return 0 } return Double(gamesWon) / Double(gamesPlayed) } }