From a184e9a5310ff68104741ff8edddfa8b69b0db05 Mon Sep 17 00:00:00 2001 From: Felix Detig Date: Wed, 16 Feb 2022 00:53:25 +0100 Subject: [PATCH] =?UTF-8?q?Punkte=20des=20Gewinners=20werden=20um=201=20er?= =?UTF-8?q?h=C3=B6ht?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../MiniGames/Client/ViewModel/TicTacToe.cs | 13 +++++++++++++ BlazorSolution/MiniGamesTests/TicTacToeTest.cs | 14 ++++++++++++++ 2 files changed, 27 insertions(+) diff --git a/BlazorSolution/MiniGames/Client/ViewModel/TicTacToe.cs b/BlazorSolution/MiniGames/Client/ViewModel/TicTacToe.cs index 514d129..52dbd99 100644 --- a/BlazorSolution/MiniGames/Client/ViewModel/TicTacToe.cs +++ b/BlazorSolution/MiniGames/Client/ViewModel/TicTacToe.cs @@ -11,6 +11,12 @@ namespace MiniGames.Client.ViewModel this.Model = model; } + public SpielerModel[] Spieler + { + get { return Model.Spieler; } + set { Model.Spieler = value; } + } + public TicTacToeBrett Brett { get { return Model.Brett; } @@ -36,12 +42,19 @@ namespace MiniGames.Client.ViewModel 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() diff --git a/BlazorSolution/MiniGamesTests/TicTacToeTest.cs b/BlazorSolution/MiniGamesTests/TicTacToeTest.cs index 9a43703..c9223b0 100644 --- a/BlazorSolution/MiniGamesTests/TicTacToeTest.cs +++ b/BlazorSolution/MiniGamesTests/TicTacToeTest.cs @@ -105,10 +105,16 @@ namespace MiniGamesTests [Theory] [InlineData(0, 0, 3, 1, 4, 2)] [InlineData(0, 3, 0, 4, 1, 5, 2)] + [InlineData(1, 0, 6, 3, 4, 6, 1, 2)] public void SpielerInput_GewinnerTest(int gewinnerIndex, params int[] inputs) { // arrange TicTacToe spiel = StandardSpiel(); + spiel.AktiverSpielerIndex = 0; + spiel.Spieler[0].Punkte = 0; + spiel.Spieler[1].Punkte = 1; + int erwartetePunkteSpieler1 = (gewinnerIndex == 0) ? 1 : 0; + int erwartetePunkteSpieler2 = (gewinnerIndex == 1) ? 2 : 1; int erwarteterGewinnerIndex = gewinnerIndex; // act @@ -119,6 +125,8 @@ namespace MiniGamesTests // assert Assert.Equal(spiel.GewinnerIndex, erwarteterGewinnerIndex); + Assert.Equal(spiel.Spieler[0].Punkte, erwartetePunkteSpieler1); + Assert.Equal(spiel.Spieler[1].Punkte, erwartetePunkteSpieler2); } [Fact] @@ -127,6 +135,10 @@ namespace MiniGamesTests // arrange TicTacToe spiel = StandardSpiel(); spiel.AktiverSpielerIndex = 0; + spiel.Spieler[0].Punkte = 0; + spiel.Spieler[1].Punkte = 0; + int erwartetePunkteSpieler1 = 0; + int erwartetePunkteSpieler2 = 0; int erwarteterGewinnerIndex = -1; // act @@ -139,6 +151,8 @@ namespace MiniGamesTests // assert Assert.Equal(spiel.GewinnerIndex, erwarteterGewinnerIndex); + Assert.Equal(spiel.Spieler[0].Punkte, erwartetePunkteSpieler1); + Assert.Equal(spiel.Spieler[1].Punkte, erwartetePunkteSpieler2); } } }