inial impl

This commit is contained in:
Michal Vrba
2026-08-28 13:59:36 +02:00
parent efec4e62c5
commit 6abf0f91a0
180 changed files with 64651 additions and 0 deletions
+46
View File
@@ -0,0 +1,46 @@
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<Card> Hand { get; } = new();
public int? FinishedPosition { get; set; }
public bool HasFinished => FinishedPosition.HasValue;
public bool IsSkipped { get; set; }
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;
}
}