Hopp til innhald

Arbeidsoppdrag

Bruke klassar og objekt i eit spel

I denne oppgåva skal du lære litt om korleis klassar og objekt kan brukast i dataspel.
Person sit framfor ei stasjonær datamaskin og speler dataspel. Foto.

Før du gjer denne oppgåva, tilrår vi at du les artikkelen "Objekt og klassar" og artikkelen "Subklassar og arv".

Sjå for deg at du skal lage eit spel. I spelet skal ein vere eit menneskeliknande dyr med magiske evner som må gjennom ei rekke prøvingar for å nå målet sitt.

Når spelet startar, skal brukaren kunne lage sin eigen hovudkarakter med spesifikke eigenskapar. Desse eigenskapane kan vere til dømes brukarnamn, spelarklasse (som magikar, krigar og så vidare), dyreart, kjønn, våpen, magiske evner, helsepoeng, magipoeng og artefaktar. Alle desse eigenskapane skal lagrast i eit spelarobjekt som blir oppretta når spelet startar.

  1. Lag ein klasse som kan brukast til å opprette nye spelarobjekt. Legg inn alle dei nødvendige objektvariablane i konstruktøren.

  2. Lag metodar i klassen spelar som blir brukt når spelaren blir skadd eller heila, altså for å trekke frå eller legge til helsepoeng.

  3. Lag ein klasse for å lagre artefaktar som spelaren finn i spelet. Denne klassen skal ha objektvariablar som namn, type og beskriving.

  4. Lag ein klasse for å lagre medisinar eller heilande artefaktar som spelaren kan finne i spelet. Denne klassen skal vere ein subklasse av artefaktar-klassen og skal arve objektvariablar frå artefaktar-klassen. I tillegg skal subklassen ha ein objektvariabel som beskriv kor mange helsepoeng spelaren får når medisinen blir brukt.

  5. Lag ein metode i spelar-klassen for å lagre artefaktar som spelaren vel å ta med seg i spelar-objektet. Artefaktane ein spelar har, bør lagrast som ein array med artefakt-objekt.

  6. Lag òg ein subklasse av artefaktar-klassen for våpen og ein metode i spelar-klassen for å lagre våpen spelaren ber med seg. Denne subklassen må ha eigne objektvariablar for kor mykje skade det gjer, type våpen (som slagvåpen, prosjektil, magisk) og kor mange gonger våpenet kan brukast (til dømes dersom våpenet har eit visst tal på prosjektil eller blir øydelagt over tid).

Ekstraoppgåve

Kva må du gjere dersom det skal vere mogleg å lagre spelet for å komme tilbake og halde fram der ein var, med dei same artefaktane og våpena?

Tips til vidare arbeid med oppgåva

Det du har gjort i denne oppgåva, kan vere utgangspunktet for å lage eit tekstbasert spel. Tenk ut ei historie og teikn opp ei oversikt over layouten, moglegheitene og vala i spelet. Då kan du lage eit spennande spel der spelaren får ein liten bit av historia om gongen, og må gjere val som påverkar korleis historia går føre seg vidare.

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

Dersom du ikkje veit kva eit tekstbasert spel er og vil prøve det, kan du prøve spelet "The Dreamhold" på eblong.com. Det er eit tekstbasert spel laga for å lære bort dei grunnleggande elementa i tekstbaserte spel.

CC BY-SASkrive av Karl Arne Dalsaune.
Sist fagleg oppdatert 22.06.2022

Læringsressursar

Objektorientert programmering