Ga naar inhoud

Level 2: Levens en Loops

Bekijk de volledige code
# =============================================================================
# ZOMBIE APOCALYPSE - Level 2
# =============================================================================
# Nieuw in dit level:
# - while loops (herhalen zolang iets waar is)
# - Variabelen veranderen (levens = levens - 1)
# =============================================================================

import os
import random
import time

os.system('cls' if os.name == 'nt' else 'clear')

# We maken een variabele "levens" en geven die de waarde 3
# Dit is een getal, geen tekst - dus geen aanhalingstekens
levens = 3

print("đŸ§Ÿâ€â™‚ī¸đŸ’€ WELKOM BIJ ZOMBIE APOCALYPSE đŸ’€đŸ§Ÿâ€â™‚ī¸")
print("Je hebt drie levens")
print()

# =============================================================================
# WHILE LOOP
# =============================================================================
# Een while loop herhaalt code ZOLANG de voorwaarde waar is
# "while levens > 0" betekent: zolang levens groter is dan 0, blijf herhalen
#
# Vergelijkingen die je kunt gebruiken:
#   >   groter dan
#   <   kleiner dan
#   >=  groter dan of gelijk aan
#   <=  kleiner dan of gelijk aan
#   ==  gelijk aan
#   !=  niet gelijk aan
# =============================================================================

while levens > 0:
    # Alles wat INGESPRONGEN staat (met 4 spaties) hoort bij de while loop
    # Dit wordt steeds herhaald totdat levens 0 of minder is

    print("đŸŒĢī¸ Het is donker... je hoort gegrom...")
    time.sleep(1)
    print("đŸ§Ÿâ€â™‚ī¸ Er komt een zombie op je af!")
    print()

    actie = input("⚡ Wat doe je? (rennen / vechten) ➜ ")

    if actie == "rennen":
        print("đŸƒâ€â™‚ī¸ Je probeert weg te sprinten...")
        time.sleep(1)

        kans = random.randint(1, 2)
        if kans == 1:
            print("💨đŸ”Ĩ Je bent ontsnapt! Je hart bonkt in je keel...")
        else:
            print("😱 De zombie was sneller!")
            print("🩸 Hij grijpt je arm... Je verliest een leven")

            # We halen 1 af van levens
            levens = levens - 1

    elif actie == "vechten":
        print("âš”ī¸ Je maakt je klaar om te vechten...")
        time.sleep(1)

        kans = random.randint(1, 2)
        if kans == 1:
            print("đŸ’ĨđŸ§Ÿâ€â™‚ī¸ BOEM! Je verslaat de zombie als een held!")
        else:
            print("đŸ§Ÿâ€â™‚ī¸đŸ’ĸ De zombie bijt je...")
            levens = levens - 1

    else:
        print("đŸ¤Ļ Zombies twijfelen niet...")
        print("â˜ ī¸ Je bent dood.")
        # We zetten levens op 0 zodat de while loop stopt
        levens = 0

# Dit staat NIET ingesprongen, dus het hoort niet meer bij de while loop
# Dit wordt pas uitgevoerd als de loop stopt (levens is 0 of minder)
print()
print("đŸŽŦ THE END đŸŽŦ")

Wat leer je?

In dit level leer je hoe je code herhaalt met while loops en hoe je variabelen gebruikt om de status van het spel bij te houden.

De code

Variabelen

levens = 3

Je kan variabelen aanpassen, vb om een leven te verliezen: levens = levens - 1.

While loop

while levens > 0:
    # deze code herhaalt zolang levens groter is dan 0

De code binnen de while blijft herhalen totdat de voorwaarde (levens > 0) niet meer waar is.

BEKIJK

  1. Run zombie.py
  2. Let op: het spel stopt niet na ÊÊn beurt!

LEES

Lees de code en beantwoord: - Wanneer stopt de while loop? - Wat gebeurt er met levens als je geraakt wordt? - Waarom staat levens = 0 bij de else?

PROBEER

Verander levens = 3 naar levens = 5. Run het spel - je hebt nu 5 levens!