RoomTest.py
From WLCS
from room import *
# Constants:
WARRIOR_HP = 50
WARRIOR_STR = 10
WARRIOR_SKILL = 15
WARRIOR_AC = 5
WARRIOR_NAME = "Gnusto Frotz"
WARRIOR_TYPE = "valiant warrior"
WARRIOR_PRONOUN = "his"
MONSTER_HP = 50
MONSTER_STR = 15
MONSTER_SKILL = 10
MONSTER_AC = 7
MONSTER_NAME = "Schmoo"
MONSTER_TYPE = "gruesome ghost"
MONSTER_PRONOUN = "its"
GRUE_HP = 100
GRUE_STR = 20
GRUE_SKILL = 15
GRUE_AC = 10
GRUE_NAME = "Grue"
GRUE_TYPE = "boss ghost"
GRUE_PRONOUN = "his"
CLAWS_DAMAGE_MOD = 3
CLAWS_NAME = "claws"
CLAWS_HIT = "slashes"
CLAWS_MISS = "swipes at but misses"
SWORD_DAMAGE_MOD = 5
SWORD_NAME = "sword"
SWORD_HIT = "stabs"
SWORD_MISS = "swings at but misses"
WAND_DAMAGE_MOD = 30
WAND_NAME = "magic wand"
WAND_HIT = "blasts a fireball at"
WAND_MISS = "aims at but misses"
INTRO = """
Welcome to the game. You control the actions of the valient Gnusto Frotz, a
warrior who has stumbled into a spooky haunted house.
You can use commands such as 'north' or simply 'n' to move.
You can use 'attack' to attack a monster with a single blow.
You can also use 'look' to examine the room you are in, and 'get <thing> to pick up an item named <thing>.
Finally, you can type <quit> when you are done playing.
"""
currentRoom = Room()
# create the weapons, creatures, and rooms
claws = Weapon(CLAWS_NAME, CLAWS_DAMAGE_MOD, CLAWS_HIT, CLAWS_MISS)
sword = Weapon(SWORD_NAME, SWORD_DAMAGE_MOD, SWORD_HIT, SWORD_MISS)
wand = Weapon(WAND_NAME, WAND_DAMAGE_MOD, WAND_HIT, WAND_MISS)
player = Creature(WARRIOR_NAME, WARRIOR_TYPE, WARRIOR_PRONOUN, WARRIOR_HP, WARRIOR_STR, WARRIOR_SKILL, WARRIOR_AC)
monster = Creature(MONSTER_NAME, MONSTER_TYPE, MONSTER_PRONOUN, MONSTER_HP, MONSTER_STR, MONSTER_SKILL, MONSTER_AC)
monster.weapon = claws
grue = Creature(GRUE_NAME, GRUE_TYPE, GRUE_PRONOUN, GRUE_HP, GRUE_STR, GRUE_SKILL, GRUE_AC)
kitchen = Room("This is the spooky kitchen of the haunted house", None, None)
diningRoom = Room("This is the tattered dining hall of the haunted mansion", monster, sword)
parlor = Room("This is the decrepit parlor. The once-rich tapesties and mouldering furniture fill you with a sense of foreboding.")
pit = Room("Oh no! You've fallen in a pit. There is no way out. You might as well quit.\n")
hallway = Room("This is a long creepy hallway from the parlor to the bedrooms.")
bedroom = Room("This is the haunted bedroom. A stench of evil pervades the air.", grue, wand)
# connect the rooms together
kitchen.roomToEast = diningRoom
diningRoom.roomToWest = kitchen
diningRoom.roomToNorth = parlor
parlor.roomToSouth = diningRoom
parlor.roomToNorth = pit
parlor.roomToEast = hallway
hallway.roomToWest = parlor
hallway.roomToEast = bedroom
bedroom.roomToWest = hallway
# place the player and print introduction
currentRoom = kitchen
print(INTRO)
# main loop
while True:
newRoom = currentRoom.enterRoom(player)
if (newRoom == None):
print("Thank you for playing! Goodbye.")
break
else:
currentRoom = newRoom