KoogleApp/src/Koogle.Application/Games/FoxHunt/FoxHuntGameModel.cs

40 lines
1.3 KiB
C#

namespace Koogle.Application.Games.FoxHunt
{
/// <summary>
/// Game model for Fuchsjagd-Spiel (Fox Hunt) game type.
/// One Player starts as fox, and all others try to hunt him.
/// </summary>
public record FoxHuntGameModel
{
/// <summary>
/// ID of the winner (first player to reach 0 points).
/// </summary>
public Guid? WinnerId { get; set; }
public bool IsGameOver { get; set; }
//public int LeadingThrows { get; set; }
//public int FoxLeadingThrowCount { get; set; }
public Dictionary<Guid, FoxHuntPlayerState> PlayerStates { get; set; }
public Guid[] PlayerOrder { get; set; }
public int LeadingThrows { get; set; } // copy from setup model
//public int CurrentPlayerIndex { get; set; }
//public int CurrentFoxIndex { get; set; }
public int FoxIndex { get; set; } // aktueller Fuchs (Index in PlayerOrder)
public int NonFoxIndex { get; set; } // Index für Nicht-Fuchs-Spieler
public int FoxTurnsRemaining { get; set; } // verbleibende Fuchs-Züge
public bool FoxTurn { get; set; } // true = Fuchs dran im Wechsel
}
public record FoxHuntPlayerState
{
public int PinCountFox { get; set; }
public int PinCountHunters { get; set; }
}
}