test
7 Score-overzicht bij Game Over
In deze les leer je een scorescherm maken dat verschijnt als je verliest. Daarin zie je hoeveel bonuspunten je had, hoeveel negatieve stenen je raakte, en je eindscore.
In deze les geven we niet meer de gehele code maar geven we alleen aan hoe je de code moet aanpassen. Dit is een goede oefening want als code heel complex is het belangijk om te kunnen begrijpen waar wat moet staan in code.
๐ง Wat voegen we toe?
- Tel hoeveel bonusstenen je hebt gevangen
- Tel hoeveel daarvan positief of negatief waren
- Toon een scorescherm als je Game Over bent
๐ Stap 1: Tel positieve en negatieve bonusstenen
Doel: zet de variablen waarin de scores worden bijgehouden op 0. Doe dit bij de start van je programma.
Hoe: Voeg bovenin je script de volgende variabelen toe, net onderย score = 0
:
bonus_hits = 0
positive_hits = 0
negative_hits = 0
Doel: In de def_update die telkens wordt uitgevoerd gaan we de scores bijwerken
Hoe: Zorg er eerst voor dat je de variabelen in de def_update kan gebruiken:
Verander de eerste regel naย def_update()
in
global player_x, game_over, score, bonus_hits, positive_hits, negative_hits
Hoe: werk nu de variabelen bij
Voeg in jeย update()
-functie, bij het botsen met een bonussteen, dit toe na score += bonus["value"]
:
bonus_hits += 1
if bonus["value"] > 0:
positive_hits += 1
else:
negative_hits += 1
๐ Stap 2: Toon scores bij game over
Pas in je draw()
-functie het stuk aan waar de tekst "GAME OVER" wordt getekend. Vervang dit door het volgende:
if game_over:
screen.draw.text("GAME OVER", center=(WIDTH // 2, HEIGHT // 2 - 60), fontsize=60, color="red")
screen.draw.text(f"Score: {score}", center=(WIDTH // 2, HEIGHT // 2), fontsize=40, color="white")
screen.draw.text(f"Bonusstenen geraakt: {bonus_hits}", center=(WIDTH // 2, HEIGHT // 2 + 40), fontsize=30, color="lightblue")
screen.draw.text(f"Positief: {positive_hits} | Negatief: {negative_hits}", center=(WIDTH // 2, HEIGHT // 2 + 80), fontsize=30, color="yellow")
return
โน๏ธ Uitleg
bonus_hits
: telt hoeveel bonusstenen je geraakt hebtpositive_hits
ennegative_hits
: verdeling van de bonuspuntendraw.text(...)
: toont extra regels tekst op het scherm bij game over
๐ ๏ธ Opdracht
- Voeg de drie nieuwe variabelen toe
- Pas de
update()
-functie aan zodat je weet welke bonusstenen geraakt zijn - Pas de
draw()
-functie aan zodat je een eindscherm krijgt met statistieken
๐ก Extra uitdaging
- Toon ook hoeveel seconden je hebt gespeeld
- Laat bij positieve score een groene tekst zien, en bij negatieve score een rode
๐ค Inleveren
- Maak een screenshot van je eindscherm
- Lever je .py-bestand in