Bruke klasser og objekter i et spill
Før du gjør denne oppgaven, anbefaler vi at du leser artikkelen "Objekter og klasser" og artikkelen "Subklasser og arv".
Se for deg at du skal lage et spill. I spillet skal man være et menneskelignende dyr med magiske evner som må gjennom en rekke prøvelser for å nå målet sitt.
Når spillet starter, skal brukeren kunne lage sin egen hovedkarakter med spesifikke egenskaper. Disse egenskapene kan være for eksempel brukernavn, spillerklasse (som magiker, kriger og så videre), dyreart, kjønn, våpen, magiske evner, helsepoeng, magipoeng og artefakter. Alle disse egenskapene skal lagres i et spillerobjekt som opprettes når spillet starter.
Lag en klasse som kan brukes til å opprette nye spillerobjekter. Legg inn alle de nødvendige objektvariablene i konstruktøren.
Lag metoder i klassen spiller som brukes når spilleren blir skadet eller helbredet, altså for å trekke fra eller legge til helsepoeng.
Lag en klasse for å lagre artefakter som spilleren finner i spillet. Denne klassen skal ha objektvariabler som navn, type og beskrivelse.
Lag en klasse for å lagre medisiner eller helbredende artefakter som spilleren kan finne i spillet. Denne klassen skal være en subklasse av artefakter-klassen og skal arve objektvariabler fra artefakter-klassen. I tillegg skal subklassen ha en objektvariabel som beskriver hvor mange helsepoeng spilleren får når medisinen brukes.
Lag en metode i spiller-klassen for å lagre artefakter som spilleren velger å ta med seg i spiller-objektet. Artefaktene en spiller har, bør lagres som en array med artefakt-objekter.
Lag også en subklasse av artefakter-klassen for våpen og en metode i spiller-klassen for å lagre våpen spilleren bærer med seg. Denne subklassen må ha egne objektvariabler for hvor mye skade det påfører, type våpen (som slagvåpen, prosjektil, magisk) og hvor mange ganger våpenet kan brukes (for eksempel hvis våpenet har et visst antall prosjektiler eller blir ødelagt over tid).
Ekstraoppgave
Hva må du gjøre hvis det skal være mulig å lagre spillet for å komme tilbake og fortsette der man slapp, med de samme artefaktene og våpnene?