mercredi 26 juillet 2017

Modifying a dictionary inside of an if statement

I've been trying to make a basic text game in Python, and I'm using dictionaries to contain the player's information. I want to make it so that when a player's health reaches 0, the code will stop running. I've had trouble making that happen. My dictionary, which is at the beginning of my code, looks like this:

    playerAtt = {}
    playerAtt["Weapon"] = "Baseball bat"
    playerAtt["Party"] = "Empty"
    playerAtt["Health"] = 15
    playerAtt["Cash"] = "$100"
    print(playerAtt)

    if playerAtt['Health'] <= 0:
        exit()

The bottom section is what I wrote to try and make the code stop running when the player's health reached zero, but it doesn't seem to work. In one path of my game, your health gets set to zero and the game is supposed to end, but the program continues to run:

    townChoice = raw_input("You met a traveler in the town. 'Yo. I'm Bob. Let's be friends.' Will you invite him to your party? Y/N\n")

    if townChoice == 'y' or storeTown == 'Y':
        print("That kind traveler was not such a kind traveler. He stabbed you with a machete. RIP " + Name + '.')
        playerAtt['Health'] == 0

When you reach this part of the game, all it does is print the message, and moves on to the next decision. In this situation, I could just manually end the program by doing exit() under the print command, but there are circumstances where the player only loses a fraction of their health, and they would eventually reach zero. Sorry if this is a stupid question, I've only been working on Python for a few days.

Aucun commentaire:

Enregistrer un commentaire