Rochambeau

Inhoud

Rochambeau#

Opdracht: Rochambeau

Schrijf een programma dat steen, papier en schaar met de gebruiker kan spelen.

import random  # import the module named random
import time # import the module named time

"""Play a game of rock-paper-scissors in Dutch

arguments: no arguments (prompted text doesn't count as an argument)
result: no result       (printing doesn't count as a result)
"""

print()
print("Wel wel, iemand verveeld zich!")
print("Laten we steen, papier, schaar spelen.")
print()
time.sleep(4.0)

print("Om je geheugen op te frissen zijn hier de regels:")
print("Elke speler kiest een van de volgende drie wapens steen, papier of schaar.")
time.sleep(6.0)
print()
print("Papier wint van steen, steen wint van schaar en schaar wint van papier.")
print("Hebben we allebei hetzelfde wapen gekozen dan is het gelijk spel.")
time.sleep(6.0)

user = input("Kies een wapen (steen, papier of schaar): ")
comp = random.choice(["steen", "papier", "schaar"])

print("De gebruiker (jij) koos", user)
print("De computer (ik) koos", comp)

if user == "steen": # De speler heeft steen gekozen, de nested if constructie test nu of de speler de gewonnen, verloren of gelijk gespeeld heeft
    if(comp == "papier"):
        print("Ha, ik heb papier gekozen dus jij verliest!")
        print("Hopelijk heb je de volgende keer meer geluk...")
    elif(comp == "schaar"):
        print("O nee, steen vernietigt schaar.")
        print("Jij hebt gewonnen!")
    else:
        print("Gelijk spel! ")
    time.sleep(4.0)

elif user == "papier": # De speler heeft papier gekozen, de nested if constructie test nu of de speler de gewonnen, verloren of gelijk gespeeld heeft
    if(comp == "schaar"):
        print("Ha, ik heb schaar gekozen dus jij verliest!")
        print("Hopelijk heb je de volgende keer meer geluk...")
    elif(comp == "steen"):
        print("O nee, papier vernietigt steen.")
        print("Jij hebt gewonnen!")
    else:
        print("Gelijk spel! ")
    time.sleep(4.0)

elif user == "schaar": # De speler heeft schaar gekozen, de nested if constructie test nu of de speler de gewonnen, verloren of gelijk gespeeld heeft
    if(comp == "steen"):
        print("Ha, ik heb steen gekozen dus jij verliest!")
        print("Hopelijk heb je de volgende keer meer geluk...")
    elif(comp == "papier"):
        print("O nee, schaar vernietigt papier.")
        print("Jij hebt gewonnen!")
    else:
        print("Gelijk spel! ")
    time.sleep(4.0)

Uitbreiding#

Hier is een versie met 5 opties.

# Met uitbreidingen
print()
print("Er is ook een versie met 5 wapens genaamd steen, papier, schaar, Spock en hagedis.")
print("De regels zijn: schaar snijdt papier, papier bedekt steen, steen plet hagedis, ")
print("hagedis vergiftigt Spock, Spock smelt schaar, schaar onthoofdt hagedis,")
print("hagedis eet papier, papier weerlegt Spock, Spock verdampt steen en steen breekt schaar.")
time.sleep(6.0)

while True: # Uitbreiding Blijven spelen
    print()
    version = input("Wil je met drie wapens of vijf wapens spelen? [drie/vijf]: ") # Uitbreiding RPS-5
    if(version != "drie" and version != "vijf"):
        version = input("Kies 'drie of 'vijf als antwoord!")

    if(version == "drie"):
        print()
        print("Je hebt voor de normale versie gekozen")
        user = input("Kies een wapen (steen, papier of schaar): ")
        comp = random.choice(["steen", "papier", "schaar"])

        print("De gebruiker (jij) koos", user)
        print("De computer (ik) koos", comp)

        if(user != "steen" and user != "papier" and user != "schaar"): # Uitbreiding Dummie proof
            print("Ha, je hebt een ongeldige keuze gemaakt dus ik win!")
            time.sleep(4.0)
        elif user == "steen": # De speler heeft steen gekozen, de nested if constructie test nu of de speler de gewonnen, verloren of gelijk gespeeld heeft
            if(comp == "papier"):
                print("Ha, ik heb papier gekozen dus jij verliest!")
                print("Hopelijk heb je de volgende keer meer geluk...")
            elif(comp == "schaar"):
                print("O nee, steen vernietigt schaar.")
                print("Jij hebt gewonnen!")
            else:
                print("Gelijk spel! ")
            time.sleep(4.0)

        elif user == "papier": # De speler heeft papier gekozen, de nested if constructie test nu of de speler de gewonnen, verloren of gelijk gespeeld heeft
            if(comp == "schaar"):
                print("Ha, ik heb schaar gekozen dus jij verliest!")
                print("Hopelijk heb je de volgende keer meer geluk...")
            elif(comp == "steen"):
                print("O nee, papier vernietigt steen.")
                print("Jij hebt gewonnen!")
            else:
                print("Gelijk spel! ")
            time.sleep(4.0)

        elif user == "schaar": # De speler heeft schaar gekozen, de nested if constructie test nu of de speler de gewonnen, verloren of gelijk gespeeld heeft
            if(comp == "steen"):
                print("Ha, ik heb steen gekozen dus jij verliest!")
                print("Hopelijk heb je de volgende keer meer geluk...")
            elif(comp == "papier"):
                print("O nee, schaar vernietigt papier.")
                print("Jij hebt gewonnen!")
            else:
                print("Gelijk spel! ")
            time.sleep(4.0)
        else: # Misschien is er een conditie gemist?
            print("Hmm, er lijkt iets mis gegaan.")

    elif(version == "vijf"):
        print()
        print("Je hebt voor de uitgebreide versie gekozen.")
        user = input("Kies een wapen (steen, papier, schaar, Spock of hagedis): ")
        comp = random.choice(["steen", "papier", "schaar", "Spock", "hagedis"])

        print("De gebruiker (jij) koos", user)
        print("De computer (ik) koos", comp)

        if(user != "steen" and user != "papier" and user != "schaar" and user != "Spock" and user != "hagedis"): # Uitbreiding Dummie proof
            print("Ha, je hebt een ongeldige keuze gemaakt dus ik win!")
            time.sleep(4.0)

        elif(user == "steen"): # De speler heeft steen gekozen, de nested if constructie test nu of de speler de gewonnen, verloren of gelijk gespeeld heeft
            if(comp == "papier" or comp == "Spock"):
                print("Ha, mijn keuze is beter dus jij verliest!")
                print("Hopelijk heb je de volgende keer meer geluk...")
            elif(comp == "schaar" or comp == "hagedis"):
                print("O nee, steen is beter dan mijn keuze.")
                print("Jij hebt gewonnen!")
            else:
                print("Gelijk spel! Geen van onze keuzes was de betere keuze.")
            time.sleep(4.0)

        elif user == "papier": # De speler heeft papier gekozen, de nested if constructie test nu of de speler de gewonnen, verloren of gelijk gespeeld heeft
            if(comp == "schaar" or comp == "hagedis"):
                print("Ha, mijn keuze is beter dus jij verliest!")
                print("Hopelijk heb je de volgende keer meer geluk...")
            elif(comp == "steen" or comp == "Spock"):
                print("O nee, papier is beter dan mijn keuze.")
                print("Jij hebt gewonnen!")
            else:
                print("Gelijk spel! Geen van onze keuzes was de betere keuze.")
            time.sleep(4.0)

        elif user == "schaar": # De speler heeft schaar gekozen, de nested if constructie test nu of de speler de gewonnen, verloren of gelijk gespeeld heeft
            if(comp == "steen" or comp == "Spock"):
                print("Ha, mijn keuze is beter dus jij verliest!")
                print("Hopelijk heb je de volgende keer meer geluk...")
            elif(comp == "papier" or comp == "hagedis"):
                print("O nee, schaar is de betere keuze.")
                print("Jij hebt gewonnen!")
            else:
                print("Gelijk spel! Geen van onze keuzes was de betere keuze.")
            time.sleep(4.0)

        elif user == "Spock": # De speler heeft Spock gekozen, de nested if constructie test nu of de speler de gewonnen, verloren of gelijk gespeeld heeft
            if(comp == "hagedis" or comp == "papier"):
                print("Ha, mijn keuze is beter dus jij verliest!")
                print("Hopelijk heb je de volgende keer meer geluk...")
            elif(comp == "schaar" or comp == "steen"):
                print("O nee, Spock is de betere keuze.")
                print("Jij hebt gewonnen!")
            else:
                print("Gelijk spel! Geen van onze keuzes was de betere keuze.")
            time.sleep(4.0)

        elif user == "hagedis": # De speler heeft hagedis gekozen, de nested if constructie test nu of de speler de gewonnen, verloren of gelijk gespeeld heeft
            if(comp == "steen" or comp == "schaar"):
                print("Ha, mijn keuze is beter dus jij verliest!")
                print("Hopelijk heb je de volgende keer meer geluk...")
            elif(comp == "Spock" or comp == "papier"):
                print("O nee, hagedis is de betere keuze.")
                print("Jij hebt gewonnen!")
            else:
                print("Gelijk spel! Geen van onze keuzes was de betere keuze.")
            time.sleep(4.0)

        else: # Misschien is er een conditie gemist?
            print("Hmm, er lijkt iets mis gegaan.")

    else:
        print("Er werd een niet opgegeven spel optie gekozen. Probeer het opnieuw.")

    #print("Het draait nog steeds...")
    print()
    response = input("Nog een keer spelen? [ja/nee] ")
    if response == "nee":
        break