-1

Title. I'm currently writing a choose your own adventure python script for my computer science class and need to give the player 5 lives and when they run out have a line of text appear. Any ideas?

(I'm not sure if I need to post the script or not but I can later today if needed.)

script:

# Name: Drew Dilley
**# Date: 12/7/20
# 1 REMOVED IMPORT MATH BECAUSE IT IS NOT NEEDED FOR THIS SCRIPT.
# 2
import random
answer: str = input("Do you want to go on an adventure? (Yes/No)")
# hint: the program should convert player's input to lowercase and get rid of any space player enters
# hint: check out what .upper(), .lower(), .strip() do on a string, reference: https://www.w3schools.com/python/python_ref_string.asp
# 3
if answer.upper().strip() == "yes":
    # hint: pay attention to the variable name
    # 4
    ANSWER= input("You are lost in the forest and the path splits. Do you go left or right? (Left/Right) ").lower().strip()
    if answer == "left":
        # 5 UNNECESSARY INDENT
        answer = input("An evil witch tries to cast a spell on you, do you run or attack? (Run/Attack) ").lower().strip()
    if answer == "attack": #(HAD TO FIX UNEXPECTED INDENT)
            print("She turned you into a green one-legged chicken, you lost!")
        # 6 HAD TO ADD PARENTHESES AND FIX THE SEMICOLON AFTER "ANSWER"
    elif answer := "run":
            print("Wise choice, you made it away safely.")
            answer = input("You see a car and a plane.  Which would you like to take? (Car/Plane) ").lower().strip()
    if answer == "plane":
                print("Unfortunately, there is no pilot. You are stuck!")
    elif answer == "car":
                print("You found your way home. Congrats, you won!")
            # 7 SEMICOLON NEEDED AFTER "ELSE" PLANE/ANSWER + CAR/ANSWER NEEDED TO BE FLIPPED. NO INDENTATION NEEDED FOR "ELSE". == INSTEAD OF !=
    elif answer != "plane" or answer != "car":
            print("You spent too much time deciding...")
    elif "right" != answer:
        else:
    print("You are frozen and can't talk for 100 years...")
# hint: the program should randomly generate a number in between 1 and 3 (including 1 and 3)
# hint: remember random module? reference: https://www.w3schools.com/python/module_random.asp
# 8 HAD TO IMPORT "RANDOM"
        num: int = random.randint(0,3)
        # 9
    answer = input("Pick a number from 1 to 3: ")
        # hint: will the following if statement ever be executed even when the values of answer and num are the same? If not, can you fix the problem?
        # hint: the error is not necessarily in the line below.
    if answer == num:
        print("I'm also thinking about {}".format(num))
        print("You woke up from this dream.")
    else:
        print("You fall into deep sand and get swallowed up. You lost!")
    else:
        print('You can\'t run away...')
# 10 NEEDED A SEMICOLON FOLLOWING THE ELSE STATEMENT, SO THAT IT KNOWS WHAT TO READ AND PERFORM NEXT IN THE SCRIPT.
else:
    print ("That's too bad!")** ```
dilleyf
  • 1
  • 1
  • 1
    Please provide your existing code so that we can help you. There are countless ways to implement what you're trying to do and without context, it won't be possible to give anything more than a general recommendation. – Andrew Fan Dec 08 '20 at 15:57
  • i added the script :) – dilleyf Dec 09 '20 at 03:20

1 Answers1

0

you can use a for loop with a counter variable which you can decriment at every time player looses and when it goes from 5 to zero you can use break to exit the loop or a print before break to display a message.

Pratik Agrawal
  • 405
  • 3
  • 17
  • this sounds like it would work pretty well, but im not sure how to execute writing such a script, could you provide me an example ? – dilleyf Dec 09 '20 at 03:24