from time import * from random import * import os,sys, random def clear_screen(): os.system('cls' if os.name=='nt' else 'clear') def title(): print (" __ _ __ ") print (" / / ___ __ _ ___ _ __ __| | ___ / _| /\ /\___ _ __ ___ ___ ___ ") print (" / / / _ \/ _` |/ _ \ '_ \ / _` | / _ \| |_ / /_/ / _ \ '__/ _ \ / _ \/ __|") print ("/ /__| __/ (_| | __/ | | | (_| | | (_) | _| / __ / __/ | | (_) | __/\__ \ ") print ("\____/\___|\__, |\___|_| |_|\__,_| \___/|_| \/ /_/ \___|_| \___/ \___||___/") def castle(): print ("* |>>> + ") print ("+ * | * +") print (" |>>> _ _|_ _ * |>>> ") print (" * | |;| |;| |;| | *") print (" + _ _|_ _ \\. . / _ _|_ _ +") print (" * |;|_|;|_|;| \\: + / |;|_|;|_|;|") print (" \\.. / ||:+++. | \\. . / *") print (" + \\. , / ||:+++ | \\: . /") print (" ||:+ |_ _ ||_ . _ | _ _||:+ | *") print (" * ||+++.|||_|;|_|;|_|;|_|;|_|;||+++ | +") print (" ||+++ ||. . . . ||+++.| *") print ("+ * ||: . ||:. . . . , ||: | *") print (" * ||: ||: , + . ||: , | +") print (" * ||: ||:. +++++ . ||: | *") print (" + ||: ||. +++++++ . ||: . | +") print (" + ||: . ||: , +++++++ . . ||: | +") print (" ||: . ||: , +++++++ . . ||: | *") print (" ||: . ||: , +++++++ . . ||: |") def north(): print ("To go nroth press n then enter") def east(): print ("To go east press e then enter") def south(): print("To go south press s then enter") def west(): print("To go west press w then enter") def setup(): global name global HP global MP name = input("What is your name warrior? ") HP = randint(5,20) MP = randint(5,20) def villager(): global npcname global responses responses = ["Hi", "Are you a hero?", "Are you from here?", "There has been a dark shadow cast across the village"] npcnamechoice = ["Bob", "Billy" , "Sarah", "Susan"] random.shuffle(npcnamechoice) npcname = npcnamechoice [0] print ("\n ["+npcname+":] Hello my name is "+npcname+", Would you like to talk to me? \n") random.shuffle(responses) print ("Press y to talk to the villager") if input () == "y": print ("["+npcname+"]: " +responses [0]) else: print("["+npcname+": ] Goodbye") def enemy(): global enemyHP global enemyMP global enemyname enemyHP = randint(5,20) enemyMP = randint(5,20) enemyname = "Ogre" print ("\nSuddenly you hear a roar, and from the shadows you see an "+enemyname+" coming straight at you....") print ("Your enemy has " + " " + str (enemyHP) + " " + "Health Points") print ("Your enemy has " + " " + str (enemyMP) + " " + "Magic Points") clear_screen() title() castle() setup() global name global HP global MP global move global enemyHP print ("Welcome to Middle Earth, " + name) sleep(2) print("\nYour health is" + " " + str(HP)) print("You magic skill is" + " " + str(MP)) print ("Would you like to venture out into the land? Press y then enter to continue") if input() == "y": print ("You are in your home, with a roaring fireplace in front of you, above the fire you can see your sword and shield") print ("Would you like to take your sword and shield? Press y then enter to continue") if input() == "y": weapons = [] weapons.append("sword") weapons.append("shield") print ("You are now carrying your" + " " + weapons[0] + " " + "and your" + " " + weapons[1]) print ("Armed with your " + weapons[0] + " " + "and " + weapons[1] + " you swing open the door to your home and see a green valley gleaming in the sunshine.") else: print ("You choose not to take your weapons") print ("Armed with your sense of humour, You swing open the door to see a green valley full of opportunity awaiting you.") else: print ("You stay at home, sat in your favourite chair watching the fire grow colder. Middle Earth no longer has a hero.") print ("Game Over") sys.exit(0) print("In the distance to the north you can see a small vllage, to the east you can see a river and to the west a field of wild flowers. ") print ("\n") north() east() west() move = input("Where would you like to go? ") if move == 'n': print ("\nYou move to the north, walking in the sunshine.") print ("You feel a rumbling and look behind you to see a ogre") elif move == 'e': print ("\nYou walk to the river which lies to the east of your home.") print ("you see a ogre bathing") elif move == 'w': print ("\nYou walk to the field of wild flowers, stopping to take in the beauty") print ("A villager is in your path and greets you\n") villager() enemy() sleep(3) fight = input("Do you fight?") if fight == "y": while HP > 0 : hit = randint (0,5) print ("You swing your sword and cause " + str(hit) + " of damage") enemyHP = enemyHP - hit print ("The ogre stumbles back with {} HP".format(enemyHP)) enemyhit = randint (0,5) print ("The ogre swings a club at you and causes " + str(enemyhit) + " of damage") HP = HP - enemyhit print ("Your are taking a beating as your at {} HP".format(HP)) else: print("You turn and run away from the ogre") if enemyHP < 0: print ("You did it. You beat the ogre. But this is just the start...") if HP < 0: print ("How long were you out for?? You hear a crackling of a fire... You look up to see a camp fire.. with the village being burned behind it... you failed.") print (" _ _ _") print (" /_\ __| |_ _____ _ __ | |_ _ _ _ __ ___") print (" //_\\ / _` \ \ / / _ \ '_ \| __| | | | '__/ _ \ ") print ("/ _ \ (_| |\ V / __/ | | | |_| |_| | | | __/") print ("\_/ \_/\__,_| \_/ \___|_| |_|\__|\__,_|_| \___|") print (" _ _") print (" __ ___ ____ _(_) |_ ___") print (" / _` \ \ /\ / / _` | | __/ __|") print ("| (_| |\ V V / (_| | | |_\__ \ ") print (" \__,_| \_/\_/ \__,_|_|\__|___/") print (" _ _ ___ _ _") print ("| | | |/ _ \| | | |") print ("| |_| | (_) | |_| |") print (" \__, |\___/ \__,_|") print (" |___/")