using MiniGames.Shared.Models; namespace MiniGames.Client.ViewModel { public class TicTacToe : ITicTacToe { TicTacToeModel Model; public TicTacToe(TicTacToeModel model) { this.Model = model; } public SpielerModel[] Spieler { get { return Model.Spieler; } set { Model.Spieler = value; } } public TicTacToeBrett Brett { get { return Model.Brett; } set { Model.Brett = value; } } public int AktiverSpielerIndex { get { return Model.AktiverSpielerIndex; } set { Model.AktiverSpielerIndex = value; } } public int GewinnerIndex { get { return Model.GewinnerIndex; } set { if (Model.GewinnerIndex < 0) { Model.GewinnerIndex = value; } } } public SpielerModel GewinnerSpieler { get { return Model.GewinnerSpieler; } set { Model.GewinnerSpieler = value; } } public bool Fertig() { return Model.Fertig(); } public void SpielerInput(int posIndex) { if (Fertig()) return; if (Brett.Set(posIndex, AktiverSpielerIndex)) { SpielerWechsel(); } GewinnerIndex = Brett.Gewinner(); PunkteBerechnung(); } public void SpielerWechsel() { AktiverSpielerIndex = 1 - AktiverSpielerIndex; } public void PunkteBerechnung() { SpielerModel gewinner = GewinnerSpieler; if (gewinner != null) { gewinner.Punkte++; } } } }