Oefenexamen uitgewerkt
✅ VOLLEDIG UITGEWERKT AVONTURENSPEL (met uitleg in comments)
# We importeren de random module
# Deze hebben we nodig om willekeurige schade, geld en kansen te genereren
import random
print("Welkom bij het Avonturenspel!")
# Introductie van het verhaal
print("Je bent een avonturier op zoek naar een verborgen schat.")
print("Je begint je reis in een donker bos.")
# ==============================
# Variabelen
# ==============================
# Hoeveel geld de speler heeft
geld = 0
# Hoeveel schatten de speler heeft gevonden
schatten = 0
# De speler begint met een zwaard
zwaard = True
# De speler begint met een magische toverstok
toverstok = True
# Het aantal levenspunten van de speler
leven = 100
# ==============================
# Functie voor een gevecht
# ==============================
def vecht_tegen_monster():
# We gebruiken de globale variabele 'leven'
# zodat we deze binnen de functie kunnen aanpassen
global leven
# Het monster begint met 50 levenspunten
monster_leven = 50
# Deze loop blijft draaien zolang het monster nog leeft
while monster_leven > 0:
# De speler kiest wat hij wil doen
keuze = input("Wat wil je doen? (vecht, vlucht) ")
# Als de speler kiest om te vechten
if keuze == "vecht":
# Controleer of de speler een zwaard heeft
if zwaard:
# Bepaal willekeurige schade tussen 10 en 20
schade = random.randint(10, 20)
# Trek de schade af van het monster
monster_leven -= schade
# Toon hoeveel schade is gedaan
print("Je veroorzaakt " + str(schade) + " schade aan het monster.")
# Controleer of het monster verslagen is
if monster_leven <= 0:
print("Je hebt het monster verslagen!")
return True
else:
# Geen zwaard = niet kunnen vechten
print("Je hebt geen zwaard om tegen het monster te vechten.")
return False
# Als de speler probeert te vluchten
elif keuze == "vlucht":
# 50% kans om te ontsnappen
kans = random.randint(1, 2)
if kans == 1:
print("Je ontsnapt aan het monster.")
return False
else:
print("Je kon niet ontsnappen.")
# Monster doet schade aan de speler
schade = random.randint(5, 10)
leven -= schade
print("Het monster veroorzaakt " + str(schade) + " schade aan jou.")
# Controleer of de speler dood is
if leven <= 0:
print("Je bent overleden.")
return False
# Als de invoer ongeldig is
else:
print("Ongeldige keuze, probeer het opnieuw.")
# ==============================
# Hoofdloop van het spel
# ==============================
while True:
# Als het leven 0 of lager is, stopt het spel
if leven <= 0:
print("Je bent overleden.")
break
# De speler kiest een actie
keuze = input(
"Wat wil je doen? (ga verder, zoek schat, check inventory, vecht tegen een monster, gebruik magische voorwerp) "
)
# Speler gaat verder door het bos
if keuze == "ga verder":
print("Je gaat verder door het bos.")
# Speler zoekt een schat
elif keuze == "zoek schat":
print("Je begint te zoeken naar een schat.")
schatten += 1
print("Je hebt nu " + str(schatten) + " schatten gevonden.")
# Speler checkt zijn inventory
elif keuze == "check inventory":
print(
"Je hebt "
+ str(geld)
+ " geld, "
+ str(schatten)
+ " schatten, "
+ str(zwaard)
+ " zwaard, "
+ str(toverstok)
+ " toverstok."
)
# Speler vecht tegen een monster
elif keuze == "vecht tegen een monster":
if vecht_tegen_monster():
geld += random.randint(10, 50)
print("Je hebt " + str(geld) + " geld verdiend door het monster te verslaan.")
# Speler gebruikt een magisch voorwerp
elif keuze == "gebruik magische voorwerp":
if toverstok:
leven += random.randint(10, 30)
print(
"Je hebt je levensenergie opgevuld met de toverstok. "
"Je huidige levensenergie is " + str(leven) + "."
)
else:
print("Je hebt geen toverstok in je inventory.")
# Alle andere invoer is ongeldig
else:
print("Ongeldige keuze, probeer het opnieuw.")
# Einde van het spel
print("Bedankt voor het spelen van het Avonturenspel!")
🧠 Wat zijn de belangrijkste ingevulde punten? (examenuitleg)
| Punt | Ingevuld | Waarom |
|---|---|---|
import … |
import random |
Nodig voor willekeur |
……… = True |
toverstok = True |
Nodig voor magisch voorwerp |
"………… " |
"vecht" |
Keuze in gevecht |
monster_leven … |
<= 0 |
Controleren of monster dood is |
print(... schade ...) |
str(schade) |
Getal naar tekst |
………. bij dood |
break |
Spel stoppen |
elif … == "check inventory" |
elif keuze == |
Correcte variabele |
Laatste ……: |
else: |
Ongeldige invoer |