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 void SpielerInput(int posIndex) { if (GewinnerIndex >= 0) return; if (Brett.Set(posIndex, AktiverSpielerIndex)) { SpielerWechsel(); } GewinnerIndex = Brett.Gewinner(); if (GewinnerIndex >= 0) { Spieler[GewinnerIndex].Punkte++; } } public void SpielerWechsel() { AktiverSpielerIndex = 1 - AktiverSpielerIndex; } } }