Skip to main content

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 hebt
  • positive_hits en negative_hits: verdeling van de bonuspunten
  • draw.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

  1. Maak een screenshot van je eindscherm
  2. Lever je .py-bestand in
  3. Beantwoord: wat was je hoogste score en hoeveel positieve/negatieve blokken had je?