Hopp til innhold

Arbeidsoppdrag

Bruke klasser og objekter i et spill

I denne oppgaven skal du lære litt om hvordan klasser og objekter kan brukes i dataspill.
Person sitter foran en stasjonær datamaskin og spiller dataspill. Foto.
Åpne bilde i et nytt vindu

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.

  1. Lag en klasse som kan brukes til å opprette nye spillerobjekter. Legg inn alle de nødvendige objektvariablene i konstruktøren.

  2. Lag metoder i klassen spiller som brukes når spilleren blir skadet eller helbredet, altså for å trekke fra eller legge til helsepoeng.

  3. Lag en klasse for å lagre artefakter som spilleren finner i spillet. Denne klassen skal ha objektvariabler som navn, type og beskrivelse.

  4. 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.

  5. 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.

  6. 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?

Tips til videre arbeid med oppgaven

Det du har gjort i denne oppgaven, kan være utgangspunktet for å lage et tekstbasert spill. Tenk ut en historie og tegn opp en oversikt over spillets layout, muligheter og valg. Da kan du lage et spennende spill der spilleren får en liten bit av historien om gangen, og må gjøre valg som påvirker hvordan historien utspiller seg videre.

Du kan lese tips om hvordan du kan lage et sånt spill på David Pesces blogg: "13 Tips For Writing a Good Text Adventure Game".

Hvis du ikke vet hva et tekstbasert spill er og vil prøve det, kan du prøve spillet "The Dreamhold" på eblong.com. Det er et tekstbasert spill lagd for å lære bort de grunnleggende elementene i tekstbaserte spill.

CC BY-SASkrevet av Karl Arne Dalsaune.
Sist faglig oppdatert 22.06.2022

Læringsressurser

Objektorientert programmering