|
@ -1,10 +1,11 @@ |
|
|
//Imports
|
|
|
//Imports
|
|
|
const uno = require("./uno"); |
|
|
|
|
|
const Card = require("./cards/Card"); |
|
|
const Card = require("./cards/Card"); |
|
|
const ChooseColor = require("./cards/special/ChooseColor"); |
|
|
const ChooseColor = require("./cards/special/ChooseColor"); |
|
|
const Skip = require("./cards/special/Skip"); |
|
|
const Skip = require("./cards/special/Skip"); |
|
|
const PlusAmount = require("./cards/special/PlusAmount"); |
|
|
const PlusAmount = require("./cards/special/PlusAmount"); |
|
|
const Reverse = require("./cards/special/Reverse"); |
|
|
const Reverse = require("./cards/special/Reverse"); |
|
|
|
|
|
const uno = require("./uno"); |
|
|
|
|
|
const Player = require("./Player"); |
|
|
|
|
|
|
|
|
//Um generatePool zu exportieren, muss es in eine Klasse konvertiert werden
|
|
|
//Um generatePool zu exportieren, muss es in eine Klasse konvertiert werden
|
|
|
class Game { |
|
|
class Game { |
|
@ -12,6 +13,11 @@ class Game { |
|
|
//Erstellt ein Spiel mit SpielerAnzahl und Array mit Regeln, initialisiert dann das Spiel
|
|
|
//Erstellt ein Spiel mit SpielerAnzahl und Array mit Regeln, initialisiert dann das Spiel
|
|
|
constructor(playerAmount, rules) { |
|
|
constructor(playerAmount, rules) { |
|
|
|
|
|
|
|
|
|
|
|
this._cardOnDeck = null; |
|
|
|
|
|
this._currentPlayer = 0; |
|
|
|
|
|
this._direction = 0; |
|
|
|
|
|
this._players = []; |
|
|
|
|
|
|
|
|
this._playerAmount = playerAmount; |
|
|
this._playerAmount = playerAmount; |
|
|
this._rules = rules; |
|
|
this._rules = rules; |
|
|
|
|
|
|
|
@ -20,6 +26,7 @@ class Game { |
|
|
|
|
|
|
|
|
initGame(){ |
|
|
initGame(){ |
|
|
this._cardPool = this.generatePool(); |
|
|
this._cardPool = this.generatePool(); |
|
|
|
|
|
this.createPlayers(this._playerAmount); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
//Gibt ein Array zurück mit allen Karten, die in einem Uno Spiel sind
|
|
|
//Gibt ein Array zurück mit allen Karten, die in einem Uno Spiel sind
|
|
@ -61,11 +68,21 @@ class Game { |
|
|
return pool; |
|
|
return pool; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
createPlayers(playerAmount){ |
|
|
|
|
|
for (let i = 0; i < playerAmount; i++){ |
|
|
|
|
|
this._players.push(new Player("Player" + (i + 1), this)); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
//Gib den Pool mit allen UnoKarten zurück
|
|
|
//Gib den Pool mit allen UnoKarten zurück
|
|
|
get cardPool(){ |
|
|
get cardPool(){ |
|
|
return this._cardPool; |
|
|
return this._cardPool; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
get players(){ |
|
|
|
|
|
return this._players; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
//Exportiert Modul Game
|
|
|
//Exportiert Modul Game
|