using System.Text.Json.Serialization; namespace TanksServer.Models; internal sealed record class Scores { public int Kills { get; set; } public int Deaths { get; set; } public double Ratio { get { if (Kills == 0) return 0; if (Deaths == 0) return Kills; return Math.Round(Kills / (double)Deaths, 3); } } public int WallsDestroyed { get; set; } public int ShotsFired { get; set; } public int PowerUpsCollected { get; set; } [JsonIgnore] public double DistanceMoved { get; set; } public int PixelsMoved => (int)DistanceMoved; public int OverallScore => Math.Max(0, 10000 * Kills - 1000 * Deaths + 100 * PowerUpsCollected + 10 * (ShotsFired + WallsDestroyed) + PixelsMoved ); }