//Klasse Card für die UnoKarten export default class Card { //Konstruktor für das Erstellen einer Karte constructor(name, color, gameInstanz) { this._game = gameInstanz; this._onScreen = false; //Die Karte wird bei Erstellung noch nicht auf dem Bildschirm angezeigt this._canPut = false; //Die Karte kann bei Erstellung nicht gelegt werden this._name = name; //Name der Karte (z.B. 0,1...,9,+2,+4,CC,R,S) this._color = color; //Farbe der Karte (CARD_COLORS) this._xpos = 0; this._ypos = 0; } //Logik beim Legen einer Karte (wird für alle Karten ausgeführt) putSelf(){ //Nächster Spieler am Zug this.game.nextTurn(); } //Gibt den Namen der Karte zurück get name() { return this._name; } //Gibt zurück, ob die Karte gelegt werden kann get canPut() { return this._canPut; } //Gibt die Farbe der Karte zurück get color() { return this._color; } //Setzt die Farbe der Karte set color(color) { this._color = color; } //Gibt zurück ob die Karte sich auf dem Bildschirm befindet get onScreen() { return this._onScreen; } //Gibt die Instanz vom Game zurück get game(){ return this._game; } //Setzt, ob die Karte gelegt werden kann, oder nicht set canPut(bool){ this._canPut = bool; } set xPos(pos){ this._xpos = pos; } set yPos(pos){ this._ypos = pos; } get xPos(){ return this._xpos; } get yPos(){ return this._ypos; } }