fix ShitGameLogic

This commit is contained in:
beo3000 2025-12-28 17:23:10 +01:00
parent fc97a266d4
commit b8bd1b0939
2 changed files with 26 additions and 7 deletions

View File

@ -84,19 +84,19 @@ public class ShitGameLogicService : IGameLogicService
// Pins are collected - player can choose to continue or pass
// If continuing, pins are added to collected and subtracted from player
var currentPoints = model.PlayerPoints.GetValueOrDefault(playerId, model.StartNumber);
var newPoints = currentPoints - pinsKnocked;
var newPoints = currentPoints - model.CollectedPoints - pinsKnocked;
// Clamp to 0 minimum
if (newPoints < 0) newPoints = 0;
var updatedPoints = new Dictionary<Guid, int>(model.PlayerPoints)
{
[playerId] = newPoints
};
//var updatedPoints = new Dictionary<Guid, int>(model.PlayerPoints)
//{
// [playerId] = newPoints
//};
model = model with
{
PlayerPoints = updatedPoints,
//PlayerPoints = updatedPoints,
CollectedPoints = model.CollectedPoints + pinsKnocked
};
@ -144,6 +144,20 @@ public class ShitGameLogicService : IGameLogicService
{
var model = CastModel(gameModel);
var currentPoints = model.PlayerPoints.GetValueOrDefault(currentPlayerId, model.StartNumber);
var newPoints = currentPoints - model.CollectedPoints;
var updatedPoints = new Dictionary<Guid, int>(model.PlayerPoints)
{
[currentPlayerId] = newPoints
};
model = model with
{
PlayerPoints = updatedPoints,
CollectedPoints = 0
};
if (model.IsGameOver)
{
return (model, new ThrowResult

View File

@ -98,7 +98,9 @@
<MudTd>
@if (context.IsCurrentPlayer && !_model.IsGameOver)
{
<MudBadge Color="Color.Primary" Dot="true" Overlap="true">
<MudBadge Color="Color.Primary" Dot="true" Overlap="false"
Icon=@Icons.Material.Filled.ArrowCircleDown
Origin="Origin.TopLeft">
<MudText Typo="Typo.body1" Style="font-weight: 600">
@context.PlayerName
</MudText>
@ -134,6 +136,9 @@
<MudChip T="string" Size="Size.Small" Color="Color.Primary" Variant="Variant.Outlined">
Am Zug
</MudChip>
<MudText Color="Color.Error">Verwerfen: @(context.Points + _model.CollectedPoints)</MudText>
<MudText Color="Color.Success">Passen: @(context.Points - _model.CollectedPoints)</MudText>
}
</MudTd>
</RowTemplate>