You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
82 lines
1.8 KiB
82 lines
1.8 KiB
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++;
|
|
}
|
|
}
|
|
}
|
|
}
|