diff --git a/BlazorSolution/MiniGames/Client/ViewModel/TicTacToe.cs b/BlazorSolution/MiniGames/Client/ViewModel/TicTacToe.cs index 81eea92..c8583bc 100644 --- a/BlazorSolution/MiniGames/Client/ViewModel/TicTacToe.cs +++ b/BlazorSolution/MiniGames/Client/ViewModel/TicTacToe.cs @@ -23,12 +23,20 @@ namespace MiniGames.Client.ViewModel set { Model.AktiverSpielerIndex = value; } } + public int GewinnerIndex + { + get { return Model.GewinnerIndex; } + set { Model.GewinnerIndex = value; } + } + public void SpielerInput(int posIndex) { if (Brett.Set(posIndex, AktiverSpielerIndex)) { SpielerWechsel(); } + + GewinnerIndex = Brett.Gewinner(); } public void SpielerWechsel() diff --git a/BlazorSolution/MiniGames/Shared/Models/TicTacToeModel.cs b/BlazorSolution/MiniGames/Shared/Models/TicTacToeModel.cs index 140cb73..895e815 100644 --- a/BlazorSolution/MiniGames/Shared/Models/TicTacToeModel.cs +++ b/BlazorSolution/MiniGames/Shared/Models/TicTacToeModel.cs @@ -10,6 +10,7 @@ namespace MiniGames.Shared.Models { public SpielerModel[] Spieler { get; set; } public int AktiverSpielerIndex { get; set; } = 0; + public int GewinnerIndex { get; set; } = -1; public TicTacToeBrett Brett { get; set; } } } diff --git a/BlazorSolution/MiniGamesTests/TicTacToeTest.cs b/BlazorSolution/MiniGamesTests/TicTacToeTest.cs index f9e25ce..0f14cf3 100644 --- a/BlazorSolution/MiniGamesTests/TicTacToeTest.cs +++ b/BlazorSolution/MiniGamesTests/TicTacToeTest.cs @@ -101,5 +101,24 @@ namespace MiniGamesTests Assert.True(spiel.Brett.Gleich(erwartetesBrett)); Assert.Equal(erwarteterSpielerIndex, spiel.AktiverSpielerIndex); } + + [Fact] + public void SpielerInput_GewinnerTest() + { + // arrange + TicTacToe spiel = StandardSpiel(); + spiel.AktiverSpielerIndex = 0; + int erwarteterGewinnerIndex = 0; + + // act + spiel.SpielerInput(0); + spiel.SpielerInput(3); + spiel.SpielerInput(1); + spiel.SpielerInput(4); + spiel.SpielerInput(2); + + // assert + Assert.Equal(spiel.GewinnerIndex, erwarteterGewinnerIndex); + } } }