You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
//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; }
}
|