Skip to main content

Hang Man

Spel

Je hebt een hang man spel, waarvan hier de code:

import random

def hangman():
    word_list = ["python", "hangman", "programming", "game", "computer"]
    word = random.choice(word_list).lower()
    guessed_letters = []
    attempts = 8

    print("Welkom bij Hangman!")
    print("Probeer het woord te raden door letters te kiezen.")
    print(f"Je hebt {attempts} pogingen voordat het spel voorbij is.")

    while True:
        hidden_word = ""
        for letter in word:
            if letter in guessed_letters:
                hidden_word += letter + " "
            else:
                hidden_word += "_ "

        print("\n" + hidden_word)

        if "_" not in hidden_word:
            print("Gefeliciteerd! Je hebt het woord geraden.")
            break

        if attempts == 1:
            print(f"Helaas, je hebt het woord niet geraden. Het woord was {word}.")
            break

        guess = input("Kies een letter: ").lower()

        if len(guess) != 1 or not guess.isalpha():
            print("Ongeldige invoer. Voer één enkele letter in.")
            continue

        if guess in guessed_letters:
            print("Je hebt deze letter al geraden. Probeer het opnieuw.")
            continue

        guessed_letters.append(guess)

        if guess in word:
            print("Goed geraden!")
        else:
            attempts -= 1
            print(f"Fout! Je hebt nog {attempts} pogingen over.")

if __name__ == "__main__":
    hangman()

Kopieer de code en speel het spel een keer.

Use Cases

Je hebt eigenlijk maar een paar use cases:

  1. Als speler wil het spel starten omdat ik het spel wil gaan spelen
  2. Als speler wil een beurt spelen en een letter raden om het woord te raden
  3. Als speler wil ik het spel stoppen omdat ik het niet wil afmaken
  4. Als beheerder wil ik de woorden die een speler kan raden veranderen

Bedenk bij alle use cases de stappen die je wilt uitvoeren om het te testen.

Bij use case 2 moet je meerdere zaken testen, denk aan ongeldige invoer, of een letter invoeren die je al hebt geraden, of een hoofdletter invullen van een kleine letter die al is geraden, bedenk verschillende scenario's en beschrijf de stap of stappen.

Bij use case 2 eindigt het spel ook. Het eindigt of omdat je te veel beurten hebt gehad, of omdat je hebt gewonnen en het woord hebt geraden.

Opdracht

Maak een hoofdstukje van elke use case en beschrijf bij elke use case een scenario. Beschrijf de stap of stappen die je moet doorlopen voor het scenario.

Bij use case 2 beschrijf je minimaal 5 scenarios met de bijbehorende stappen.

Als alle stappen zijn beschreven dan voer je alle suit en beschrijf je per proces de bevindingen.

Voorbeeld

...