using Koogle.Domain.Enums;
namespace Koogle.Application.Games.Shit;
///
/// Setup model for Scheiss-Spiel (Shit Game).
///
public record ShitGameSetup : GameSetupModelBase
{
///
public override string GameType => "Shit";
///
/// The "Scheiss-Zahl" (1-9, default 5).
/// When a player knocks down exactly this many pins, they must take the collected points.
///
public int ShitNumber { get; init; } = 5;
///
/// Starting points for each player (10-1000, default 50).
///
public int StartNumber { get; init; } = 50;
///
/// Creates a default ShitGameSetup with specified base parameters.
///
public static ShitGameSetup Create(
ThrowMode throwMode,
int throwsPerRound,
ParticipantsMode participantsMode,
int shitNumber = 5,
int startNumber = 50) => new()
{
ThrowMode = throwMode,
ThrowsPerRound = throwsPerRound,
ParticipantsMode = participantsMode,
ShitNumber = shitNumber,
StartNumber = startNumber
};
}