fix ShitGameLogic
This commit is contained in:
parent
fc97a266d4
commit
b8bd1b0939
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
|
|
|||
Loading…
Reference in New Issue