|
|
@ -13,24 +13,32 @@ class Game { |
|
|
|
//Erstellt ein Spiel mit SpielerAnzahl und Array mit Regeln, initialisiert dann das Spiel
|
|
|
|
constructor(playerAmount, rules) { |
|
|
|
|
|
|
|
this._cardOnDeck = null; |
|
|
|
this._currentPlayer = 0; |
|
|
|
this._direction = 0; |
|
|
|
this._players = []; |
|
|
|
this._cardPool = [] |
|
|
|
this._cardOnDeck = null; //Karte die auf dem Tisch liegt
|
|
|
|
this._currentPlayer = 0; //Aktueller Spieler Index im Player Array
|
|
|
|
this._direction = 0; //Spielrichtung
|
|
|
|
this._players = []; //Array mit allen Spielern drin
|
|
|
|
this._cardPool = [] //Pool aus Karten
|
|
|
|
|
|
|
|
this._playerAmount = playerAmount; |
|
|
|
this._rules = rules; |
|
|
|
this._playerAmount = playerAmount; //Anzahl der Spieler
|
|
|
|
this._rules = rules; //Array mit Regeln für das Spiel
|
|
|
|
|
|
|
|
//Spiel einrichten
|
|
|
|
this.initGame(); |
|
|
|
} |
|
|
|
|
|
|
|
//Richtet das Spiel ein
|
|
|
|
initGame(){ |
|
|
|
|
|
|
|
//CardPool wird generiert
|
|
|
|
this._cardPool = this.generatePool(); |
|
|
|
|
|
|
|
//Spieler werden erstellt
|
|
|
|
this.createPlayers(this._playerAmount); |
|
|
|
|
|
|
|
//Die Erste Karte wird auf den Tisch gelegt
|
|
|
|
this._cardOnDeck = this._cardPool[0]; |
|
|
|
this._cardPool.splice(0,1); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
//Gibt ein Array zurück mit allen Karten, die in einem Uno Spiel sind
|
|
|
@ -68,18 +76,24 @@ class Game { |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
pool.sort(()=> Math.random() - 0.5); //mischen
|
|
|
|
//Mischt das Array
|
|
|
|
pool.sort(()=> Math.random() - 0.5); |
|
|
|
|
|
|
|
//Array mit Karten wird zurückgegeben
|
|
|
|
return pool; |
|
|
|
} |
|
|
|
|
|
|
|
//Fügt die Spieler hinzu
|
|
|
|
createPlayers(playerAmount){ |
|
|
|
|
|
|
|
//Erstelle so viele Spieler, wie bei Erstellung des Spiels übergeben wurden
|
|
|
|
for (let i = 0; i < playerAmount; i++){ |
|
|
|
this._players.push(new Player("Player" + (i + 1), this)); |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
//Beendet den Zug des aktuellen Spielers und beginnt den Zug des nächsten Spielers
|
|
|
|
nextTurn(){ |
|
|
|
} |
|
|
|
|
|
|
@ -88,14 +102,17 @@ class Game { |
|
|
|
return this._cardPool; |
|
|
|
} |
|
|
|
|
|
|
|
//Gibt das Array mit allen Spielern des Spiels zurück
|
|
|
|
get players(){ |
|
|
|
return this._players; |
|
|
|
} |
|
|
|
|
|
|
|
//Gibt die aktuelle Karte auf dem Tisch zurück
|
|
|
|
get cardOnDeck(){ |
|
|
|
return this._cardOnDeck; |
|
|
|
} |
|
|
|
|
|
|
|
//Setzt die aktuelle Karte auf dem Tisch
|
|
|
|
set cardOnDeck(card){ |
|
|
|
this._cardOnDeck = card; |
|
|
|
} |
|
|
|