-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathTehtävä - Pelaaja-luokka.js
51 lines (44 loc) · 1.33 KB
/
Tehtävä - Pelaaja-luokka.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
class Pelaaja {
constructor(nimi) {
this.nimi = nimi;
this.pisteet = 0;
this.elämät = 3;
this.taso = 1;
this.kokemuspisteet = 0;
}
pelaa(arvo) {
this.pisteet += arvo;
this.kokemuspisteet += arvo / 10;
console.log(`${this.nimi} pelasi. Pisteet: ${this.pisteet}, Kokemuspisteet: ${this.kokemuspisteet}`);
}
häviä() {
this.elämät--;
console.log(`${this.nimi} hävisi. Elämät jäljellä: ${this.elämät}`);
}
nouseTasolle() {
const tarvittavatKokemuspisteet = this.taso * 100;
if (this.kokemuspisteet >= tarvittavatKokemuspisteet) {
this.taso++;
this.kokemuspisteet = 0;
console.log(`${this.nimi} nousi tasolle ${this.taso}!`);
} else {
console.log(`${this.nimi} ei vielä tarpeeksi kokemuspisteitä tasolle ${this.taso} siirtymiseen.`);
}
}
näytäTiedot() {
console.log(`
Nimi: ${this.nimi}
Pisteet: ${this.pisteet}
Elämät: ${this.elämät}
Taso: ${this.taso}
Kokemuspisteet: ${this.kokemuspisteet}
`);
}
}
const pelaaja1 = new Pelaaja("Pelaaja1");
pelaaja1.pelaa(1000);
pelaaja1.häviä();
pelaaja1.näytäTiedot();
pelaaja1.pelaa(120);
pelaaja1.nouseTasolle(3);
pelaaja1.näytäTiedot();