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.
65 lines
1.4 KiB
65 lines
1.4 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 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;
|
|
}
|
|
}
|
|
}
|