From b50af4c83a12cefa269fbe797d3c58e75d4b08ba Mon Sep 17 00:00:00 2001 From: Nicolas Fritz Date: Sat, 21 Jan 2023 23:33:06 +0100 Subject: [PATCH] =?UTF-8?q?putself()=20der=20Karte=20mit=20in=20putCard()?= =?UTF-8?q?=20des=20Spielers=20hinzugef=C3=BCgt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- uno/node/js/Game.js | 8 ++++++++ uno/node/js/Player.js | 2 ++ uno/node/js/cards/Card.js | 2 +- uno/node/js/cards/special/ChooseColor.js | 2 +- uno/node/tests/test_Player.test.js | 9 +++++++-- 5 files changed, 19 insertions(+), 4 deletions(-) diff --git a/uno/node/js/Game.js b/uno/node/js/Game.js index 367d041..411714c 100644 --- a/uno/node/js/Game.js +++ b/uno/node/js/Game.js @@ -201,11 +201,19 @@ class Game { return this._currentPlayer; } + set currentPlayer(player){ + this._currentPlayer = player + } + //Gibt die aktuelle Ricktung zurück 1 = normal 2 = Invertiert get direction(){ return this._direction; } + set direction(direction){ + this._direction = direction; + } + } //Exportiert Modul Game diff --git a/uno/node/js/Player.js b/uno/node/js/Player.js index 9c14cf5..3dcf9d0 100644 --- a/uno/node/js/Player.js +++ b/uno/node/js/Player.js @@ -53,6 +53,8 @@ class Player { //Karte wird aus dem Deck des Spielers entfernt this._hand.splice(index, 1); + //führe Funktion der Karte aus + this._game.cardOnDeck.putSelf(); } //Gibt den Namen eines Spielers zurück diff --git a/uno/node/js/cards/Card.js b/uno/node/js/cards/Card.js index e1ccabd..175b287 100644 --- a/uno/node/js/cards/Card.js +++ b/uno/node/js/cards/Card.js @@ -17,7 +17,7 @@ class Card { putSelf(){ //Nächster Spieler am Zug - this.game.nextTurn(); + this._game.nextTurn(); } diff --git a/uno/node/js/cards/special/ChooseColor.js b/uno/node/js/cards/special/ChooseColor.js index 7c21b44..c731034 100644 --- a/uno/node/js/cards/special/ChooseColor.js +++ b/uno/node/js/cards/special/ChooseColor.js @@ -10,7 +10,7 @@ class ChooseColor extends Card { constructor(gameInstanz) { //An Konstruktor von Cards weitergeben - super("CC", uno.CARD_COLORS[0]); + super("CC", uno.CARD_COLORS[0], gameInstanz); } diff --git a/uno/node/tests/test_Player.test.js b/uno/node/tests/test_Player.test.js index 046c989..72402ce 100644 --- a/uno/node/tests/test_Player.test.js +++ b/uno/node/tests/test_Player.test.js @@ -96,8 +96,13 @@ describe('Spieler Funktionalitäten', () => { //Testen, ob die gelegte Karte jetzt auf dem Tisch liegt expect(game.cardOnDeck).toEqual(card); - //Testen ob der Karten Pool um eins Größer geworden ist durch das Legen der Karte - expect(game.cardPool.length).toBe(cardAmount + 1); + //Wenn Karte aufm Tisch +2 oder +4 muss CardAmount geringer sein + if(game.cardOnDeck.name === "+2" || game.cardOnDeck.name === "+4"){ + expect(game.cardPool.length).toBe(cardAmount + 1 - game.cardOnDeck.plus); + }else{ + //Testen ob der Karten Pool um eins Größer geworden ist durch das Legen der Karte + expect(game.cardPool.length).toBe(cardAmount + 1); + } });