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.
 
 
 

78 lines
1.6 KiB

//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;
}
}