#  Name :       Endgame
#  Purpose :    11DGT
#  Author:      Taylan Russell
#  Created :    19/02/2024
#  Copyright :  © Taylan Russell 19/02/2024

import random
import time

print("hello there!")
time.sleep(2)

while True:
     player_name = input("what is your superhero name?")
     if player_name.isalpha() == True:
          break
     else:
          print("please enter a string input. J.A.R.V.I.S error <pointbreak>")

# Staring Health
cap_health = 50
thanos_health = 100

# Damage presets
thanos_sword = 0
cap_mjolnir = 0

# Deflect Preset
deflect = 0

# Player Decision Preset
cap_choice = " "

#Intro
print("The sky grows darker as the army of Thanos moves closer.")
time.sleep(2)
print("Thor and Tony lie battered and motionless on the ground from the previous encounter.")
time.sleep(3)
print("It is up to you, Cap, to finish this. The fate of the universe is your weight to bare.")
time.sleep(3.5)
print("You stand there, hurt. But you have your shield in arm hand and wield Mjolnir in the other.")
time.sleep(4)
print("You are worthy, but will the power of Thor be enough....")
time.sleep(3)
print("You are in the ENDGAME now")
time.sleep(1)

while thanos_health > 0 :

#Print current health levels
    time.sleep(1)
    print()
    print("Current Health")
    print("Cap has {} HP...".format(cap_health))
    print("Thanos has {} HP...".format(thanos_health))
    time.sleep(2)

#Player selects their action
    print()
    print("What do you choose?..")
    print("[a]ttack with Mjolnir")
    print("or")
    print("[d]efend with your shield")
    cap_choice = input(("Your choice?... "))
    print()

#Player choice
    #Choice A
    if cap_choice == "a" :
            thanos_sword = random.randint(1, 20)
            print("Thanos attacks you with his double bladed sword and deals {} damage".format(thanos_sword))
            cap_health = cap_health - thanos_sword
            if cap_health < 1:
                break
            time.sleep(1)
            cap_mjolnir = random.randint(1, 20)
            print("You attack back with Mjolnir in hand dealing {} damage in return".format(cap_mjolnir))
            thanos_health = thanos_health - cap_mjolnir
            time.sleep(1)

        #Choice D   
    else:
            print("Thanos attacks you with his double bladed sword...")
            print("You raise your shield and deflect to deflect the blow...")
            time.sleep(1)
            deflect = random.randint(1, 2)
            if deflect == 1 :
                thanos_sword = random.randint(1, 20)
                print("You were to slow in raising your shield and Thanos strikes you with his sword for {} damage".format(thanos_sword))
                cap_health = cap_health - thanos_sword
                if cap_health < 1:
                    break
                time.sleep(1)
            else:
                thanos_sword = random.randint(1, 20)
                print("Thanos' sword rebounds off Caps vibranium shield and he deals himself {} damage".format(thanos_sword))
                thanos_health = thanos_health - thanos_sword
                time.sleep(1)

# End of game loop. Checking health values to determine a winner
if cap_health < 1:
    print()
    print("Thanos is too strong. He has broken your shield and cut you down. This is the end of all life in our universe...")

    play_again = input("do you want to play again? [y]es or [n]o...")
else:
    print()
    print("Thanos has fallen!")
    time.sleep(.5)
    print("You drop to your knees, exhausted.")
    time.sleep(.5)
    print("You stare out into a grateful universe.")
    time.sleep(1)
    print("It is safe...")
    time.sleep(3)
    print("                                          ..For now...")
    time.sleep(5)

    play_again = input("do you want to play again? [y]es or [n]o...")

time.sleep(2)
print("thanks for playing my game!")
time.sleep(2)