Browse Source

Refactored TicTacToe.SpielerInput

feature/tictactoe
Felix Detig 3 years ago
parent
commit
3a74be47a7
  1. 29
      BlazorSolution/MiniGames/Client/ViewModel/TicTacToe.cs
  2. 10
      BlazorSolution/MiniGames/Shared/Models/TicTacToeModel.cs

29
BlazorSolution/MiniGames/Client/ViewModel/TicTacToe.cs

@ -40,9 +40,20 @@ namespace MiniGames.Client.ViewModel
}
}
public SpielerModel GewinnerSpieler
{
get { return Model.GewinnerSpieler; }
set { Model.GewinnerSpieler = value; }
}
public bool Fertig()
{
return Model.Fertig();
}
public void SpielerInput(int posIndex)
{
if (GewinnerIndex >= 0) return;
if (Fertig()) return;
if (Brett.Set(posIndex, AktiverSpielerIndex))
{
@ -50,16 +61,22 @@ namespace MiniGames.Client.ViewModel
}
GewinnerIndex = Brett.Gewinner();
if (GewinnerIndex >= 0)
{
Spieler[GewinnerIndex].Punkte++;
}
PunkteBerechnung();
}
public void SpielerWechsel()
{
AktiverSpielerIndex = 1 - AktiverSpielerIndex;
}
public void PunkteBerechnung()
{
SpielerModel gewinner = GewinnerSpieler;
if (gewinner != null)
{
gewinner.Punkte++;
}
}
}
}

10
BlazorSolution/MiniGames/Shared/Models/TicTacToeModel.cs

@ -12,5 +12,15 @@ namespace MiniGames.Shared.Models
public int AktiverSpielerIndex { get; set; } = 0;
public int GewinnerIndex { get; set; } = -1;
public TicTacToeBrett Brett { get; set; }
public SpielerModel GewinnerSpieler
{
get { return (GewinnerIndex >= 0) ? Spieler[GewinnerIndex] : null; }
set { GewinnerIndex = Array.IndexOf(Spieler, value); }
}
public bool Fertig()
{
return GewinnerIndex >= 0 || Brett.Voll();
}
}
}
Loading…
Cancel
Save