namespace Faraon.Core.Models; public enum PlayerType { Human = 0, AI = 1 } public enum AIDifficulty { Easy = 0, Medium = 1, Hard = 2 } public class Player { public string Id { get; init; } = Guid.NewGuid().ToString("N"); public string Name { get; set; } = "Hráč"; public PlayerType Type { get; set; } = PlayerType.Human; public AIDifficulty Difficulty { get; set; } = AIDifficulty.Medium; public string Avatar { get; set; } = "👑"; public List Hand { get; } = new(); public int? FinishedPosition { get; set; } public bool HasFinished => FinishedPosition.HasValue; public bool IsSkipped { get; set; } /// /// Počet kariet do ruky v Olympijskom režime (kto prehrá kolo, klesá o 1). /// public int OlympicCardsCount { get; set; } = 5; /// /// Či je hráč vyradený z Olympijského turnaja. /// public bool IsEliminated => OlympicCardsCount <= 0; public Player() { } public Player(string name, PlayerType type, string avatar = "👤", AIDifficulty difficulty = AIDifficulty.Medium) { Name = name; Type = type; Avatar = avatar; Difficulty = difficulty; } public void Reset() { Hand.Clear(); FinishedPosition = null; IsSkipped = false; } }