# Oefenexamen 2

# Oefenexamen uitgewerkt

## ✅ VOLLEDIG UITGEWERKT AVONTURENSPEL (met uitleg in comments)

<div class="contain-inline-size rounded-2xl corner-superellipse/1.1 relative bg-token-sidebar-surface-primary" id="bkmrk-"><div class="sticky top-[calc(--spacing(9)+var(--header-height))] @w-xl/main:top-9"><div class="absolute end-0 bottom-0 flex h-9 items-center pe-2">  
</div></div><div class="overflow-y-auto p-4" dir="ltr">  
</div></div>\# 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 &gt; 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 &lt;= 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 &lt;= 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 &lt;= 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)

<div class="TyagGW_tableContainer" id="bkmrk-punt-ingevuld-waarom"><div class="group TyagGW_tableWrapper flex flex-col-reverse w-fit" tabindex="-1"><table class="w-fit min-w-(--thread-content-width)" data-end="5742" data-start="5236"><thead data-end="5264" data-start="5236"><tr data-end="5264" data-start="5236"><th data-col-size="sm" data-end="5243" data-start="5236">Punt</th><th data-col-size="sm" data-end="5254" data-start="5243">Ingevuld</th><th data-col-size="sm" data-end="5264" data-start="5254">Waarom</th></tr></thead><tbody data-end="5742" data-start="5282"><tr data-end="5337" data-start="5282"><td data-col-size="sm" data-end="5295" data-start="5282">`import …`</td><td data-col-size="sm" data-end="5313" data-start="5295">`import random`</td><td data-col-size="sm" data-end="5337" data-start="5313">Nodig voor willekeur</td></tr><tr data-end="5405" data-start="5338"><td data-col-size="sm" data-end="5353" data-start="5338">`……… = True`</td><td data-col-size="sm" data-end="5374" data-start="5353">`toverstok = True`</td><td data-col-size="sm" data-end="5405" data-start="5374">Nodig voor magisch voorwerp</td></tr><tr data-end="5450" data-start="5406"><td data-col-size="sm" data-end="5418" data-start="5406">`"………… "`</td><td data-col-size="sm" data-end="5430" data-start="5418">`"vecht"`</td><td data-col-size="sm" data-end="5450" data-start="5430">Keuze in gevecht</td></tr><tr data-end="5514" data-start="5451"><td data-col-size="sm" data-end="5471" data-start="5451">`monster_leven …`</td><td data-col-size="sm" data-end="5480" data-start="5471">`<= 0`</td><td data-col-size="sm" data-end="5514" data-start="5480">Controleren of monster dood is</td></tr><tr data-end="5577" data-start="5515"><td data-col-size="sm" data-end="5541" data-start="5515">`print(... schade ...)`</td><td data-col-size="sm" data-end="5557" data-start="5541">`str(schade)`</td><td data-col-size="sm" data-end="5577" data-start="5557">Getal naar tekst</td></tr><tr data-end="5622" data-start="5578"><td data-col-size="sm" data-end="5596" data-start="5578">`……….` bij dood</td><td data-col-size="sm" data-end="5606" data-start="5596">`break`</td><td data-col-size="sm" data-end="5622" data-start="5606">Spel stoppen</td></tr><tr data-end="5695" data-start="5623"><td data-col-size="sm" data-end="5655" data-start="5623">`elif … == "check inventory"`</td><td data-col-size="sm" data-end="5673" data-start="5655">`elif keuze ==`</td><td data-col-size="sm" data-end="5695" data-start="5673">Correcte variabele</td></tr><tr data-end="5742" data-start="5696"><td data-col-size="sm" data-end="5712" data-start="5696">Laatste `……:`</td><td data-col-size="sm" data-end="5722" data-start="5712">`else:`</td><td data-col-size="sm" data-end="5742" data-start="5722">Ongeldige invoer</td></tr></tbody></table>

</div></div>