Een first-person shooter of FPS is een type actiespel dat wordt gespeeld vanuit het perspectief van de speler. In first-person shooters houdt de speler een wapen of een ander voorwerp in zijn handen waarmee tegen vijandige personages gevochten kan worden.
Een third-person shooter of TPS is een computerspelgenre. Zoals de naam al aangeeft gaat het om een schietspel, maar anders dan bij het genre first-person shooter bekijkt de speler de omgeving vanuit een derdepersoonsperspectief. Dit houdt in dat het lijkt alsof de speler achter het personage aan ‘zweeft’, terwijl hij of zij het personage bestuurt. Het voordeel hiervan is dat de speler een groter overzicht heeft en bijvoorbeeld snel en gemakkelijk links, rechts en achter het personage kan kijken.
In deze oefening programmeer je het personage goudzoeker uit het denkbeeldige FPS-game Dallas Gold-diggers, een spel waarin goudzoekers op slinkse wijze cowboy’s en indianen goud afhandig maken.
In deze oefening programmeren we de klasse Goudzoeker
, een subklasse van de klasse Strijder
. Je maakt in BlueJ het project Project met volgende klassen:
Strijder
: de code van Strijder
kan je hier1 downloaden.Goudzoeker
: je krijgt geen code cadeau.Alvorens je aan de opgave begint, loont het de moeite om de werking van de klasse Strijder
te bestuderen. De klasse
Strijder
verschilt van de klasse die je in het handboek bestudeerd hebt. Zo zijn alle velden private
maar
krijg je heel wat accessor- en mutatormethoden cadeau.
De klasse Goudzoeker
is een subklasse van Strijder
.
Programmeer de header van de klasse Goudzoeker
en declareer het enige veld aantalGoudstukken
. Een
goudzoeker kan een geheel aantal goudstukken verzamelen om levens mee af te kopen.
Goudzoeker(String)
De constructor van Goudzoeker
vraagt een naam en initialiseert het enige veld.
int getAantalGoudstukken()
Programmeer voor het veld aantalGoudstukken
een accessormethode.
void ontmijnGoud()
Deze methode laat de goudzoeker toe om 1 goudstuk op te graven. Dit kan enkel wanneer de goudzoeker nog in
leven is.
void koopLeven()
Een leven kopen, kost 10 goudstukken. Een goudzoeker kan dus enkel een leven kopen indien hij of zij minstens
10 goudstukken in bezit heeft. Ook wanneer de goudzoeker dood is, kan er een leven gekocht worden.
void geraakt()
Overschrijf de methode geraakt()
van de superklasse Strijder
. Wanneer een goudzoeker geraakt wordt, verliest hij of
zij onmiddellijk een leven. Dit kan enkel indien de goudzoeker nog levens bezit.
void print()
Toont informatie over de goudzoeker in het Terminalvenster van BlueJ.