#1
  1. No Profile Picture
    Registered User
    Devshed Newbie (0 - 499 posts)

    Join Date
    Sep 2010
    Posts
    18
    Rep Power
    0

    Trying to make this simple game but randint keeps repeating


    Hi guys.

    I was trying to make this simple game but I'm running into problems.

    Code:
    import random
    
    
    def options():
        print()
        print("What do you do?")
        print("1. Check the local bakery to see if the criminal is hiding in the oven.")
        print("2. Search the forest to see if he's made a quick getaway.")
        print("3. Check with the innkeeper to see if anyone has come in recently.")
        print("4. Search the sewers, this criminal scum will do anything for money.")
        print("9. Quit.")
    
    
    
    print("On a dark and rainy night the town of Ogalu was quietly sleeping. On this night, a criminal \nwas amidst the sleeping people he sought to steal the King's crown and make himself rich."
            "The criminal named Zalox snuck into the palace, and stole the crown without alerting the guards. \nAfter this he ran away, but you, Bob the guard, heard something. You went to check the king"
            "he was safe, you then went to check the crown. They were gone!, you alert the townsguard and set \nout to catch this criminal scum.")
    correct = random.randint(1,4)
    options()
    option = int(input("What option: "))
    while option != 9:
        if option == 1:
            if correct == option:
                print("You make your way into the local bakery, you hear something drop. You turn around and there he is, the theif, in the local oven. You arrest him and put him in jail!")
            elif correct != option:
                print("As you search the bakery you think you hear something near the oven, as you check it out you realise it's just a mouse. The theif isn't here!")
    
        elif option == 2:
            if correct == 2:
                print("As you make your way towards the forest you see a shadow limping away, it's the theif! You chase after him and catch him, you send him to jail for life!")
                break
            else:
                print("You head towards the forest, you think you hear something moving in the bushes, as you check it out a giant wolf chases you out of the forest, the theif isn't here")
        elif option == 3:
            if correct == 3:
                print("You approach the innkeeper and ask if anyone suspicious has been staying there, the innkeeper says a man came in recently in a hurry, he's in his room. You dart upstairs, burst into his room"
                        "and arrest him!")
                break
            else:
                print("You see the innkeeper walking his dog, you ask if anyone suspicious has been stayig with him, he says no. The theif isn't here")
    
        elif option == 4:
            if correct == 4:
                print("You search the old, dirty, smelly sewers looking for the thief, in the distance you see a light and a person running. It's the thief! You take a shortcut and pounce on him! You put him to jail!")
                break
            else:
                print("As you search the sewers you see nothing but smelly, dirty, sewage. Maybe the theif won't do anything for money. This was a bad idea, you make your way out the next exit")
    
    print("Congratulatious! You saved the King's crown by capturing the theif know as Zalox. He's sentanced to life in jail. The town can finally relax again! You are know as Hero of Ogalu!")
    I've tried using elif and else but it's not working, it will still keep repeating the option I choose until the correct number is equal to the option. Does anyone know how I can fix this? I want to have it so if option 1 is wrong, I can go back to the menu and search somewhere else.

    Do you understand what I mean?

    Please help.
  2. #2
  3. Contributing User
    Devshed Demi-God (4500 - 4999 posts)

    Join Date
    Aug 2011
    Posts
    4,891
    Rep Power
    481
    you then went to check the crown. They were gone!
    I recommend "It was gone!".
    You've misspelled "thief" and "stayig". "snuck" should be "sneaked" but enough of this.

    I believe that you'd think the difficulty of your question would be solved if you moved option selection into the loop:
    Code:
    ...
    correct = random.randint(1,4)
    while option != 9:
        options()
        option = int(input("What option: "))
        if option == 1:
            ...
    [code]Code tags[/code] are essential for python code and Makefiles!

IMN logo majestic logo threadwatch logo seochat tools logo