40 lines
1.3 KiB
C#
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; }
|
|
}
|
|
}
|