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
Voeg bovenin je script de volgende variabelen toe, net onder score = 0
:
bonus_hits = 0
positive_hits = 0
negative_hits = 0
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
- Beantwoord: wat was je hoogste score en hoeveel positieve/negatieve blokken had je?