MBO-SD : De site voor software developer in het MBO
Classes - een klasse apart
Het 'this' keywoord en functies
Net als bij het aanmaken van een object, kan een class het this
keywoord/ verwijzing gebruiken.
Net als bij een object verwijst this
naar iets van de class (of object) zelf.
class Player {
constructor(name, level) {
this.name = name;
this.level = level;
this.lives = 3;
this.points = 0;
}
addPoints(points) {
this.points += points;
}
addCoin() {
this.coins++;
}
changeLives(lives) {
this.lives += lives;
}
}
Inbovenstaande code kan je dus in jouw object de functie addPoints aanroepen, met een argument, om het punten
aantal van de speler te vergroten.
Daarnaast hebben we een functie addCoin die het aantal munten met 1 vergroot.
playerOne.addPoints(100); //Dit geeft de speler 100 punten extra
playerOne.addCoin; //Dit geeft de speler 1 munt extra
Functies met if-statements
Bij een spel als Super Mario Bros. krijg je voor elke 100 muntjes een nieuw leven. Dan moet je daar natuurlijk een if-statement voor uitvoeren dat als de module van de muntjes met 100, 0 is, dat je dan een leven erbij krijgt. We gaan de code uitbreiden:class Player {
constructor(name, level) {
this.name = name;
this.level = level;
this.lives = 3;
this.coins = 0;
this.points = 0;
}
addPoints(points) {
this.points += points;
}
addCoin() {
this.coins++;
if ((this.coins % 100) === 0) {
this.changeLives(1); //tel een leven erbij op
this.coins = 0; //Reset het aantal muntjes naar 0
}
}
changeLives(lives) {
this.lives += lives;
}
}
Als je nu playerOne.addCoin();
100 keer uit zou voeren, dan heeft de speler weer 0 muntjes, maar wel
een extra leven erbij gekregen!
Jouw JavaScript
Op de MBO-SD Fiddle site kan je meer oefenen met deze stof.
Klik hier voor de MBO-SD Fiddle site