41 lines
1.1 KiB
C#
41 lines
1.1 KiB
C#
using Koogle.Domain.Enums;
|
|
|
|
namespace Koogle.Application.Games.Shit;
|
|
|
|
/// <summary>
|
|
/// Setup model for Scheiss-Spiel (Shit Game).
|
|
/// </summary>
|
|
public record ShitGameSetup : GameSetupModelBase
|
|
{
|
|
/// <inheritdoc />
|
|
public override string GameType => "Shit";
|
|
|
|
/// <summary>
|
|
/// The "Scheiss-Zahl" (1-9, default 5).
|
|
/// When a player knocks down exactly this many pins, they must take the collected points.
|
|
/// </summary>
|
|
public int ShitNumber { get; init; } = 5;
|
|
|
|
/// <summary>
|
|
/// Starting points for each player (10-1000, default 50).
|
|
/// </summary>
|
|
public int StartNumber { get; init; } = 50;
|
|
|
|
/// <summary>
|
|
/// Creates a default ShitGameSetup with specified base parameters.
|
|
/// </summary>
|
|
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
|
|
};
|
|
}
|