Just wondering how the game would be put together, maybe even a step by step tutorial. I could use this to practice with the commands used without Tkinter or Pygame. This could be a good learning experience.
Ene Uran 638 Posting Virtuoso
The easiest game would be with a number of rooms. Draw yourself a map of 9 rooms (maybe a 3x3 pattern). Make notes on the map about details of the room, number of doors, contents, pictures, furniture and so on.
Let's say you come into the first room from the south. Now this room has a total of 4 doors, one to the south (S) where you came in, one to the east (E), north (N) and west (W). Ask the player which door he/she wants to enter. Like: "You want to go E, N or W?"
Rooms may have 2, 3 or 4 doors. Now the adventure begins. Some rooms contain a strength potion, or weapon, or some treasure, or cryptic instructions to read, or monsters to fight. When you fight a monster you lose strength. Some monsters are stronger than others. The player starts with a certain amount of strength points and gains more strength by picking up strength potions. Also loses less strength by picking up a better weapons. Each weapon has hit points, the more the better!
Describe the new room as the player enters. Like: "You entered a room that is painted green. There is a picture on the wall of an elderly gentleman. There are 5 gold pieces on the table for you. There are doors to the E and W. Do you want to go E or W?"
The rest is up to your imagination. When the player finds enough treasure (say 50 gold pieces total), he/she will have to get back to the exit alive to win the game. The room descriptions will aid. To make things more difficult, add a basement (stairs/doors to go down or D) or an upstairs (U) floor.
Show the player's present strength, weapon, gold pieces collected, and so on somehere on the screen.
chris99 0 Junior Poster
I meant, should I def a room class, and make room objects with specific instructions?
chris99 0 Junior Poster
Could someone please help me by telling me what code structure I should use, and an example? I'm trying, but I have no idea how to make it work. I've tried making a Room class, and making each room a sub-class am I on the right track? I just need pointing in the right direction.
Ene Uran 638 Posting Virtuoso
It depends what you want to do. If you just want to make a simple fun game, there is no need for class objects. If you want to to do this to learn OOP, then by all means go for it. Your progress will be initially slow, because there is quite a learning curve.
Your approach making a class Room with the basics that all rooms can share, and then a class for each individual room that inherits the class Room makes the most sense. However, a lot of thought has to be put into this approach before any of the fun starts.
Just let us know what you have come up with, and how you would test each class to make sure it does what you want it to do.
vegaseat 1,735 DaniWeb's Hypocrite Team Colleague
Text based role playing games (RPG) used to be plentiful in the early days of personal computing. Usually written in Basic, C or Pascal, but I have not seen just a text based RPG in a modern language like Python.
I would most likely define a function for each room and handle all the descriptions, actions, and connections to other rooms from there. Looks like an interesting project and a good way to learn Python skills! Later, as the project grows, you can use classes to group the functions together.
You could start with a 3 by 3 cluster of connected rooms and ask the player to explore all the rooms with the least amount of moves. Hide a few gold pieces and maybe add a secret door or two that can be opend by solving a riddle. As you get the hang of it, you can add weapons, monsters, spells and potions.
There are some GUI based RPGs on the PyGame website, but that gets to be pretty large and complex for beginners.
chris99 0 Junior Poster
Doing one command at a time, teting each one. Need help, I tried defining gold as a global variable, as it wasn't working when I just created it out of the loop, but the Reading Room won't add 30 gold Where am I going wrong?
#Text Adventure.py
#By Chris O'Leary
global gold
gold=0
def start():
print '''You find yourself in the foyer of a large house. You
have no idea how you got there. You look around, and see the front door.
It is locked and barred, and the bar is nailed down. There is
no way to open it. There are three other doors in the area. A voice says '50 gold is what you need,
to escape my grasp, of this take heed!'''
print
def foyer():
print "Current Gold = ",gold
print '''You are in the Foyer. The walls are lined with trophy cabinets
and suits of armour. The exits are (N)orth, (E)ast and (W)est.
Type 'Help' for a full list of commands.'''
print
prompt_foy()
def prompt_foy():
prompt_f = raw_input("Type a command: ")
if prompt_f == "W":
reading_room()
elif prompt_f == "Help":
print "Look, Examine (Object), N, W, E, S, Take (Item)"
prompt_foy()
elif prompt_f == "Examine Armour":
print "The armour is rusted, and not of any use."
prompt_foy()
elif prompt_f == "Examine Cabinet":
print '''The cabinet is lined with trophies, dating back to the 1800s.
Seems this was a talented family.'''
prompt_foy()
elif prompt_f == "S":
if gold < 50:
print "You can't get out untill you have 50 gold."
prompt_foy()
def reading_room():
print "Current Gold = ",gold
print '''You are in an large reading room. The room is stuffed with novels
and poetry books on every shelf. There is a large table in the middle
of the room. It has a reading lamp, and a cluster of books scattered about
on top. The exits are (N)orth and (E)ast. Type 'Help' for a full list of
commands.'''
print
prompt_rea()
def prompt_rea():
prompt_r = raw_input("Type a command: ")
if prompt_r == "E":
foyer()
elif prompt_r == "Help":
print "Look, Examine (Object), N, W, E, S, Take (Item)"
prompt_rea()
elif prompt_r == "Look":
"You see 30 gold pieces on the table."
prompt_rea()
elif prompt_r == "Take Gold":
print "You get 30 gold!"
gold = gold+30
reading_room()
start()
foyer()
Can you see the problem?
ghostdog74 57 Junior Poster
def prompt_rea(): global gold .... ....
Can you see the problem?
if you want to use gold as global, u might like to put "global gold" inside prompt_rea()
chris99 0 Junior Poster
Thanks, it works now!
Ene Uran 638 Posting Virtuoso
You are off to an interesting start! Nice foyer, hehe, almost like mine at home!
Declare the variable gold global in each function that uses this global variable. This would also apply to strength, weapons, or any monster-kill flags. If a monster has been killed in a room you can set the flag so that this monster does not attack again. Of course you could revive the monster and make things much more difficult.
Sorry, I just realized that in your first version you might not go with monsters yet. Just explore, find enough gold, and get out! It will be interesting to read all your room descriptions.
chris99 0 Junior Poster
I'm using flags to prevent getting the same gold hoardes twice. Setting the variable to false when the gold is taken. Done three rooms:
Reading Room -- Foyer -- Servants Quarters
That's a small map -----------^
Just sticking with the goal of 50 gold for now.
So Ene_Uran, your imprisoned in your own home too? You got the 50$ toll to get out :P.
chris99 0 Junior Poster
6 rooms done! Just need to do the top three, the try...except statements and the ending!
vegaseat 1,735 DaniWeb's Hypocrite Team Colleague
I hope you let us see the result. We can play it, and give you helpful hints, if you don't mind!
chris99 0 Junior Poster
I just have 2 rooms to go, and an ending. Then I'll playtest it, using every command programmed making sure they all work. You can wait a couple more days right?
Ene Uran 638 Posting Virtuoso
I am willing to wait! Good things take their time. Hehe, try to tell that to your boss!
chris99 0 Junior Poster
I am willing to wait! Good things take their time. Hehe, try to tell that to your boss!
Well, wait no longer! Advent House v1.0 is here. Let me know of any formatting errors. Hope you like it.
This attachment is potentially unsafe to open. It may be an executable that is capable of making changes to your file system, or it may require specific software to open. Use caution and only open this attachment if you are comfortable working with zip files.
Ene Uran 638 Posting Virtuoso
Nice, nice, nice and spooky!!!! Just in time for Halloween!
I haven't tested it all the way, but made few recommendations and corrections indicated by the #!!!!! marks:
#Text Adventure.py
#By Chris O'Leary
# functions will pick the external gold value (for instance), as long as gold is not
# a variable declared locally inside the function, this behaviour may change in future
# versions of Python, the safest way would be add the statement "global gold" to each
# function that uses it !!!!!!!!!!!!
"""
# global declarations go into the functions that use them!!!!!
global gold
global gotGold_reading
global gotGold_SQ
global gotGold_liv
global gotGold_draw
global gotGold_din
"""
gold = 0
gotGold_reading = 0
gotGold_SQ = 0
gotGold_liv = 0
gotGold_draw = 0
gotGold_din = 0
# recommend to make help a function and give a few more details ...
def help():
print "look, examine (object), n, w, e, s, take (item)"
print "Example: examine vase, take gold"
def start():
print '''
ADVENT HOUSE v1.0
You find yourself in the foyer of a large house. You
have no idea how you got there. You look around, and see the front door.
It is locked and barred, and the bar is nailed down. There is
no way to open it. There are three other doors in the area. A voice says
'50 gold is what you need,
to escape my grasp, of this take heed!'
Note: All instructions must be typed in small letters. No capitals.'''
# recommend to add .lower() to all raw_input() so you don't need the above note!!!!!
# add this Note: All commands can be entered in lower or upper case!
print
def foyer():
global gold # !!!!!!!!
print " Current Gold = ",gold
print ''' You are in the Foyer. The walls are lined with trophy cabinets
and suits of armour. The exits are (N)orth, (E)ast and (W)est.
Type 'help' for a full list of commands.'''
print
prompt_foy()
def foy_desc():
print ''' The walls are lined with trophy cabinets and suits of armour.
The exits are (N)orth, (E)ast and (W)est.'''
print
prompt_foy()
def prompt_foy():
global gold # !!!!!!!
# make input string lower case automatically!!!!
prompt_f = raw_input("Type a command: ").lower()
try:
if prompt_f == "w":
reading_room()
elif prompt_f == "e":
servants_quarters()
elif prompt_f == "help":
# made help a function call here ...
help()
#print "look, examine (object), n, w, e, s, take (item)"
print
prompt_foy()
elif prompt_f == "examine armour":
print "The armour is rusted, and not of any use."
print
prompt_foy()
elif prompt_f == "examine cabinet":
print ''' The cabinet is lined with trophies, dating back to the 1800s.
Seems this was a talented family.'''
print
prompt_foy()
elif prompt_f == "look":
foy_desc()
elif prompt_f == "s":
if gold < 50:
print "You can't get out untill you have 50 gold."
print
prompt_foy()
elif gold == 50:
ending()
elif prompt_f == "n":
main_hall()
else:
print "That command is invalid"
print
prompt_foy()
except ValueError:
print "That command is invalid"
print
prompt_foy()
def reading_room():
global gold # !!!!!
print " Current Gold = ",gold
print ''' You are in an large reading room. The room is stuffed with novels
and poetry books on every shelf. There is a large table in the middle
of the room. It has a reading lamp, and a cluster of books scattered about
on top. The exits are (n)orth and (e)ast. Type 'help' for a full list of
commands.'''
print
prompt_rea()
def rea_desc():
print ''' The room is stuffed with novels and poetry books on
every shelf. There is a large table in the middle of the room.
It has a reading lamp, and a cluster of books scattered about
on top. The exits are (n)orth and (e)ast.'''
print
prompt_rea()
def prompt_rea():
global gold
global gotGold_reading
prompt_r = raw_input("Type a command: ").lower() #!!!!!
try:
if prompt_r == "e":
foyer()
elif prompt_r == "n":
drawing_room()
elif prompt_r == "help":
print "look, examine (object), n, w, e, s, take (item)"
print
prompt_rea()
elif prompt_r == "examine table":
if gotGold_reading == 0:
print "You see 30 gold pieces on the table."
print
prompt_rea()
elif gotGold_reading == 1:
print "The table is cluttered with books."
print
prompt_rea()
elif prompt_r == "look":
rea_desc()
elif prompt_r == "take gold":
if gotGold_reading==0:
print "You get 30 gold!"
print
gold=gold+30
gotGold_reading=1
reading_room()
elif gotGold_reading==1:
print "No gold in here"
print
prompt_rea()
elif prompt_r == "examine shelves":
print ''' There are numerous bookshelves and countless books,
and some novels are scattered under the reading lamp. Obviously
they were terrible housekeepers.'''
print
prompt_rea()
else:
print "That command is invalid"
print
prompt_rea()
except ValueError:
print "That command is invalid"
print
prompt_rea()
def servants_quarters():
global gold # !!!!!
print "Current Gold = ",gold
print ''' You are in a small room, with a large, old bed. There is an open
wardrobe in the corner with a small amount of clothes still in it.
Obviously a servant used to sleep here.
Type 'help' for a full list of commands.'''
print
prompt_SQ()
def serv_desc():
print ''' There is an open wardrobe in the corner with
a small amount of clothes still in it. There is a large bed.'''
print
def prompt_SQ():
global gold
global gotGold_SQ
prompt_s = raw_input("Type a command: ").lower() #!!!!!
try:
if prompt_s == "w":
foyer()
elif prompt_s == "n":
living_room()
elif prompt_s == "help":
print "look, examine (object), n, w, e, s, take (item)"
print
prompt_SQ()
elif prompt_s == "examine bed":
if gotGold_SQ == 0:
print ''' There are no bedclothes. The mattress is old and motheaten. You
see a hole with gold pieces in it. There are five.'''
print
prompt_SQ()
elif gotGold_SQ == 1:
print ''' There are no bedclothes. The mattress is old and motheaten. There
is a hole in the matress.'''
print
prompt_SQ()
elif prompt_s == "examine wardrobe":
print "The door is ajar. You see a maid's uniform, but there is nothing of interest."
print
prompt_SQ()
elif prompt_s == "take gold":
if gotGold_SQ == 0:
print "You get 5 gold!"
print
gold = gold+5
gotGold_SQ = 1
servants_quarters()
elif gotGold_SQ == 1:
print "There is no gold here."
print
prompt_SQ()
elif prompt_s == "look":
serv_desc()
else:
print "That command is invalid"
print
prompt_SQ()
except ValueError:
print "That command is invalid"
print
prompt_SQ()
def living_room():
global gold # !!!!!
print "Current Gold = ",gold
print ''' You are in a large room. There is an old, decaying sofa and
a chair that has fallen into disrepair. Both are covered in cobwebs.
There is an old, dusty fireplace, with a large chimney. The logs and carpet
are caked with soot, presumably recent. It appears to have been a living
room at some point. There are exits (n)orth, (w)est and (s)outh.
Type 'help' for a full list of instructions.'''
print
prompt_liv()
def liv_desc():
print ''' There is an old, decaying sofa and a chair that has
fallen into disrepair. Both are covered in cobwebs. There is an old,
dusty fireplace, with a large chimney. The logs and carpet are caked
with soot, presumably recent.'''
print
prompt_liv()
def prompt_liv():
global gold
global gotGold_liv
print
prompt_l = raw_input("Type a command: ").lower() #!!!!!!
try:
if prompt_l == "s":
servants_quarters()
elif prompt_l =="n":
conservatory()
elif prompt_l == "examine sofa":
print ''' The sofa is in disrepair, there are springs poking
out everywhere.'''
print
prompt_liv()
elif prompt_l == "help":
print "look, examine (object), n, w, e, s, take (item)"
print
elif prompt_l == "w":
main_hall() # was mail_hall() !!!!!!!!!!
elif prompt_l == "examine fireplace":
if gotGold_liv == 0:
print "There are ten, slightly sooty, gold pieces in the hearth."
print
prompt_liv()
elif gotGold_liv == 1:
print "The hearth is a mess."
print
prompt_liv()
elif prompt_l == "examine chair":
print "The chair is in awful condition. The cushions have rising damp."
print
prompt_liv()
elif prompt_l == "take gold":
if gotGold_liv == 0:
print "You got 10 gold!"
print
gold = gold+10
gotGold_liv = 1
living_room()
elif gotGold_liv == 1:
print "There is no gold here."
print
prompt_liv()
elif prompt_l == "look":
liv_desc()
else:
print "That command is invalid"
print
prompt_liv()
except ValueError:
print "That command is invalid"
print
prompt_liv()
def main_hall():
global gold # !!!!!
print "Current Gold = ",gold
print ''' You are in the main hall. You see a staircase, however it has
collapsed. There are three portraits surrounding you, captioned with names:
Master Daniel Redwood, Mistress Stephanie Redwood and Mister Ivan Redwood.
There are four exits, (n)orth, (s)outh, (e)ast and (w)est.'''
print
prompt_main()
def main_desc():
print ''' You see a staircase, however it has
collapsed. There are three portraits surrounding you, captioned with names:
Master Daniel Redwood, Mistress Stephanie Redwood and Mister Ivan Redwood.'''
print
prompt_main()
def prompt_main():
prompt_m = raw_input("Type a command: ").lower() #!!!!!!
try:
if prompt_m == "s":
foyer()
elif prompt_m == "e":
living_room()
elif prompt_m == "w":
drawing_room()
elif prompt_m == "n":
kitchen()
elif prompt_m == "help":
print "look, examine (object), n, w, e, s, take (item)"
print
prompt_main()
elif prompt_m == "look":
main_desc()
elif prompt_m == "examine pictures":
print ''' The family look happy in their respective photos.
They are wearing champion ribbons.'''
prompt_main()
elif prompt_m == "examine staircase":
print "The stairs are totally destroyed."
prompt_main()
else:
print "That command is invalid"
print
prompt_main()
except ValueError:
print "That command is invalid"
print
prompt_main()
def drawing_room():
print "Current gold = ",gold
print ''' You are in the drawing room. There is a table with documents
scattered all over it. There is a single painting, a portrait of the wife,
on the south wall. The bookshelves here are filled with diaries.
The exits are (n)orth, (s)outh and (e)ast.'''
print
prompt_draw()
def draw_desc():
print ''' There is a table with documents scattered all over it.
There is a single painting, a portrait of the wife, on the south wall.
The bookshelves here are filled with diaries.'''
print
prompt_draw()
def prompt_draw():
global gold
global gotGold_draw
prompt_d = raw_input("Type a command: ").lower() #!!!!
try:
if prompt_d == "s":
reading_room()
elif prompt_d == "e":
main_hall()
elif prompt_d =="n":
dining_room()
elif prompt_d == "look":
draw_desc()
elif prompt_d == "examine bookshelves":
print "The shelves are cluttered with diaries."
print
prompt_draw()
elif prompt_d == "examine table":
print ''' The floor plans are detailed here. The ground floor is layed out
in a three-by-three grid.'''
print
prompt_draw()
elif prompt_d == "examine portrait":
if gotGold_draw == 0:
print ''' She was hauntingly beautiful. There is a single
gold piece adorning the frame.'''
print
prompt_draw()
elif gotGold_draw == 1:
print "She was hauntingly beautiful."
print
prompt_draw()
elif prompt_d == "take gold":
if gotGold_draw == 0:
print "You got 1 gold!"
gold = gold+1
gotGold_draw = 1
prompt_draw()
elif prompt_d == "help":
print "look, examine (object), n, w, e, s, take (item)"
print
prompt_draw()
else:
print "That command is invalid"
print
prompt_draw()
except ValueError:
print "That command is invalid"
print
prompt_draw()
def conservatory():
global gold #!!!!
print "Current gold = ",gold
print ''' You are in a large glass conservatory. There are plants everywhere.
There is a set of garden furniture right in the centre, and an assortment of
plants, potted around the edge. There are exits to the (s)outh and (w)est.
Type 'help' for a full list of commands.'''
print
prompt_con()
def con_desc():
print ''' You are in a large glass conservatory. There are plants everywhere.
There is a set of garden furniture right in the centre, and an assortment of
plants, potted around the edge.'''
print
prompt_con() #!!!!!!!
def prompt_con():
prompt_c = raw_input("Type a command: ").lower() #!!!!!!
try:
if prompt_c == "s":
living_room()
elif prompt_c == "w":
kitchen()
elif prompt_c == "examine plants":
print ''' There are several varieties of flowers and vines planted
in various locations in the conservatory.'''
print
prompt_con()
elif prompt_c == "look":
con_desc()
elif prompt_c == "examine furniture":
print ''' The furniture is a complete set. It is white. There are
three tables and a chair.'''
print
prompt_con()
elif prompt_c == "help":
print "look, examine (object), n, w, e, s, take (item)"
print
prompt_con()
else:
print "That command is invalid"
print
prompt_con()
except ValueError:
print "That command is invalid."
print
prompt_con()
def kitchen():
global gold #!!!!!
print "Current Gold = ",gold
print ''' You are in a large kitchen. The sideboard is solid mahogany,
but hopelessly scratched. There is a large rusted gas stove in the corner
with what looks like a mouldy roast inside. The knife rack has a large
and menacing array of pointy things, but in stark contrast the cupboards
are all bare. The exits are (s)outh, (e)ast and (w)est.
Type help for a full list of commands.'''
print
prompt_kit()
def kit_desc():
print ''' The sideboard is solid mahogany, but hopelessly scratched.
There is a large rusted gas stove in the corner with what looks like
a mouldy roast inside.The knife rack has a large and menacing array of
pointy things, but in stark contrast the cupboards are all bare.'''
print
prompt_kit()
def prompt_kit():
prompt_k = raw_input("Type a command: ")
try:
if prompt_k == "s":
main_hall()
elif prompt_k == "e":
conservatory()
elif prompt_k == "w":
dining_room()
elif prompt_k == "look":
kit_desc()
elif prompt_k == "examine sideboard":
print ''' The sideboard has been badly scratched. The wood is
worn away to almost nothing'''
print
prompt_kit()
elif prompt_k == "examine stove":
print "The stove is broken."
print
prompt_kit()
elif prompt_k == "examine roast":
print "Eeeeewwww!"
print
prompt_kit()
elif prompt_k == "examine rack":
print "The rack is full of sharp objects. Better stay away!"
print
prompt_kit()
elif prompt_k == "examine cupboard":
print "Empty"
print
prompt_kit()
elif prompt_k == "help":
print "look, examine (object), n, w, e, s, take (item)"
print
prompt_kit()
else:
print "That command is invalid!"
print
prompt_kit()
except ValueError:
print "That command is invalid!"
print
prompt_kit()
def dining_room():
global gold #!!!!!!
print "Current Gold = ",gold
print ''' There is a large oak table in the centre of the room. It, unlike
the rest of the house, is in good condition. There are 6 chairs around the table
that must have been used for the family and their friends. There is a large vase
in the corner that is decorated with a Salvador Dali work involving melting
clocks. On the north wall is a family photo containing not just the father, mother
and children but other family members too. On the west wall is a tapestry
depicting a great battle.
The Exits are (s)outh and (e)ast.
Type 'help' for a full list of commands.'''
print
prompt_din()
def din_desc():
print ''' There is a large oak table in the centre of the room. It, unlike
the rest of the house, is in good condition. There are 6 chairs around the table
that must have been used for the family and their friends. There is a large vase
in the corner that is decorated with a Salvador Dali work involving melting
clocks. On the north wall is a family photo containing not just the father, mother
and children but other family members too. On the west wall is a tapestry
depicting a great battle.'''
print
prompt_din()
def prompt_din():
global gotGold_din
global gold
prompt_di=raw_input("Type a command: ").lower() #!!!!!!!
try:
if prompt_di == "e":
kitchen()
elif prompt_di == "s":
drawing_room()
elif prompt_di == "examine table":
print "The table is untarnished. Strange..."
print
prompt_din()
elif prompt_di == "examine chairs":
print "There are enough for the whole family and three guests"
print
prompt_din()
elif prompt_di == "examine vase":
if gotGold_din == 0:
print "There are 4 gold pieces in the vase."
print
prompt_din()
elif gotGold_din == 1:
print "It has a picture by Salvador Dali on it."
print
prompt_din()
elif prompt_di == "examine photo":
print "An old family photo. How sweet."
print
prompt_din()
elif prompt_di == "examine tapestry":
print "It depicts a ferocious war in the year... Let's see... 26BC."
print
prompt_din()
elif prompt_di == "take gold":
if gotGold_din == 0: # added == !!!!!!!!!!!
print "You got 4 gold"
gotGold_din = 1
gold=gold+4 # changed to gold=gold+4 !!!!!!!
print
dining_room()
elif gotGold_din == 1: # added == !!!!!!!!!!!
print "No gold here"
print
prompt_din()
else:
print "That command is invalid"
print
prompt_din()
except ValueError:
print "That command is invalid"
print
prompt_din()
def ending():
print ''' You place the coins on the doormat. The voice rings out again:
"I thank you for gathering these coins that I lost. I need them to fix the stairs.
I can't get upstairs if the stairs are gone, and that is where I pay my bills.
You may go now." And with that, the bolt disintegrates, allowing the door to swing
open and you to leave.
THE END'''
dummy = raw_input("Press any button to quit.")
start()
foyer()
chris99 0 Junior Poster
Thanks for the info. But I was already declaring all the globals within the functions that used them. I'll alter the help thing and the .lower(), and upload v1.1
vegaseat 1,735 DaniWeb's Hypocrite Team Colleague
Hi ya Chris, nice work indeed! Reads like a mystery novel!
Just a little note on global variables ...
x = 77
def test1():
# this will work and print 77 without declaring x as a global
# still, it would be better to declare global x in the function
# so you have an idea where x comes from
print x
def test2():
# this works and will print 77 then print 33
global x
print x
x = 33
print x
def test3():
# this will give an error since there is also a local variable x
# UnboundLocalError: local variable 'x' referenced before assignment
print x
x = 33
print x
test1()
print
test2()
print
test3()
chris99 0 Junior Poster
Here's the version that converts the commands to lowercase, adds help as a function called help1() and alters a few other minor oopsies that will affect the game, such as improperly lined-up nested if-elif statements.
This attachment is potentially unsafe to open. It may be an executable that is capable of making changes to your file system, or it may require specific software to open. Use caution and only open this attachment if you are comfortable working with zip files.
chris99 0 Junior Poster
I am adding floor two now. 5 rooms, the gold fixes the stairs but you can't go back down, for story purposes. Two enemies to kill, three statues to collect, and I will finish off by adding a third floor, an attic to polish the game off. I have come up with a cool story behind the family.
vegaseat 1,735 DaniWeb's Hypocrite Team Colleague
Here's the version that converts the commands to lowercase, adds help as a function called help1() and alters a few other minor oopsies that will affect the game, such as improperly lined-up nested if-elif statements.
Just a few observation on your latest work of art ...
errata:
at the beginning remove the six lines starting with global
they don't accomplish anything!in function prompt_liv() add () to .lower
also mail_hall() should be main_hall()in function prompt_din() change gold=gold+1 to gold=gold+4
function servants_quarters() need door directions
chris99 0 Junior Poster
Thanks, fixed. Now I'll continue working on floor two!
jrcagle 77 Practically a Master Poster
Good job!
Some testing results:
1) Starting in the foyer and going n, e, w leads to an endless loop of "invalid command" -- no commands, even help, are recognized.
2) Starting in the foyer and going e, followed by "look", gives this:
There is an open wardrobe in the corner with
a small amount of clothes still in it. There is a large bed.
>>>
(i.e., the program suddenly quits, with no warning!)
3) In the room with the oak table, I can take 4 gold but it only adds 1 to my gold total.
4) This may be a feature, or it may not, but I can go from room to room, typing "take gold", and I get the gold without having to search anything for it.
These comments are not intended critically in any way ... just the usual testing that I do with code.
Jeff
chris99 0 Junior Poster
Thanks Jeff. I fixed everything on the list. If you find anything else, let me know. I'll upload at the end of this last update to give it 3 floors.
chris99 0 Junior Poster
Having problem with battles. Tried all sorts of things in the random module, but nothing is working properly. I need help with the functions fight_unicorn() and monster_turn1()
#Text Adventure.py
#By Chris O'Leary
import random
gold=0
gotGold_reading = 0
gotGold_SQ = 0
gotGold_liv = 0
gotGold_draw = 0
gotGold_din = 0
monsterKilled_kid = 0
monsterKilled_Master = 0
statue = 0
gotStatue_serv = 0
gotStatue_Master = 0
gotStatue_kid = 0
gold_found1 = 0
gold_found2 = 0
gold_found3 = 0
gold_found4 = 0
gold_found5 = 0
monster_HP1 = 4
hp = 10
def help1():
print "look, examine (object), n, w, e, s, take (item), attack (monster)"
print "Examples: examine chair, take gold, attack demon"
print
def start():
print '''
ADVENT HOUSE v2.0
You find yourself in the foyer of a large house. You
have no idea how you got there. You look around, and see the front door.
It is locked and barred, and the bar is nailed down. There is
no way to open it. There are three other doors in the area. A voice says
'50 gold is what you need,
to escape my grasp, of this take heed!'
Note: All instructions can be typed in lower or upper case letters.'''
print
def foyer():
global gold
global statue
print " Current Gold = ",gold,
print " Current statues = ",statue
print ''' You are in the Foyer. The walls are lined with trophy cabinets
and suits of armour. The exits are (N)orth, (E)ast and (W)est.
Type 'help' for a full list of commands.'''
print
prompt_foy()
def foy_desc():
print ''' The walls are lined with trophy cabinets and suits of armour.
The exits are (N)orth, (E)ast and (W)est.'''
print
prompt_foy()
def prompt_foy():
global gold
prompt_f = raw_input("Type a command: ").lower()
try:
if prompt_f == "w":
reading_room()
elif prompt_f == "e":
servants_quarters()
elif prompt_f == "help":
help1()
prompt_foy()
elif prompt_f == "examine armour":
print "The armour is rusted, and not of any use."
print
prompt_foy()
elif prompt_f == "examine cabinet":
print ''' The cabinet is lined with trophies, dating back to the 1800s.
Seems this was a talented family.'''
print
prompt_foy()
elif prompt_f == "look":
foy_desc()
elif prompt_f == "s":
if gold < 50:
print "You can't get out untill you have 50 gold."
print
prompt_foy()
elif gold == 50:
ending_floor1()
elif prompt_f == "n":
main_hall()
elif prompt_f == "debug":
fight_unicorn()
else:
print "That command is invalid"
print
prompt_foy()
except ValueError:
print "That command is invalid"
print
prompt_foy()
def reading_room():
global gold
global statue
print " Current statues = ",statue
print " Current Gold = ",gold
print ''' You are in an large reading room. The room is stuffed with novels
and poetry books on every shelf. There is a large table in the middle
of the room. It has a reading lamp, and a cluster of books scattered about
on top. The exits are (n)orth and (e)ast. Type 'help' for a full list of
commands.'''
print
prompt_rea()
def rea_desc():
print ''' The room is stuffed with novels and poetry books on
every shelf. There is a large table in the middle of the room.
It has a reading lamp, and a cluster of books scattered about
on top. The exits are (n)orth and (e)ast.'''
print
prompt_rea()
def prompt_rea():
global gold
global gotGold_reading
global gold_found1
prompt_r = raw_input("Type a command: ").lower()
try:
if prompt_r == "e":
foyer()
elif prompt_r == "n":
drawing_room()
elif prompt_r == "help":
help1()
prompt_rea()
elif prompt_r == "examine table":
if gotGold_reading == 0:
print "You see 30 gold pieces on the table."
print
gold_found1 = 1
prompt_rea()
elif gotGold_reading == 1:
print "The table is cluttered with books."
print
prompt_rea()
elif prompt_r == "look":
rea_desc()
elif prompt_r == "take gold":
if gotGold_reading==0 and gold_found1 == 1:
print "You get 30 gold!"
print
gold=gold+30
gotGold_reading=1
reading_room()
elif gotGold_reading==1:
print "No gold in here"
print
prompt_rea()
elif gold_found1 == 0:
print "Where is the gold?"
print
prompt_rea()
elif prompt_r == "examine shelves":
print ''' There are numerous bookshelves and countless books,
and some novels are scattered under the reading lamp. Obviously
they were terrible housekeepers.'''
print
prompt_rea()
else:
print "That command is invalid"
print
prompt_rea()
except ValueError:
print "That command is invalid"
print
prompt_rea()
def servants_quarters():
global gold
global statue
print "Current statues = ",statue
print "Current Gold = ",gold
print ''' You are in a small room, with a large, old bed. There is an open
wardrobe in the corner with a small amount of clothes still in it.
Obviously a servant used to sleep here. There are exits to the north and west.
Type 'help' for a full list of commands.'''
print
prompt_SQ()
def serv_desc():
print ''' There is an open wardrobe in the corner with
a small amount of clothes still in it. There is a large bed.'''
print
prompt_SQ()
def prompt_SQ():
global gold
global gotGold_SQ
global gold_found2
prompt_s = raw_input("Type a command: ").lower()
try:
if prompt_s == "w":
foyer()
elif prompt_s == "n":
living_room()
elif prompt_s == "help":
help1()
prompt_SQ()
elif prompt_s == "examine bed":
if gotGold_SQ == 0:
print ''' There are no bedclothes. The mattress is old and motheaten. You
see a hole with gold pieces in it. There are five.'''
print
gold_found2 = 1
prompt_SQ()
elif gotGold_SQ == 1:
print ''' There are no bedclothes. The mattress is old and motheaten. There
is a hole in the matress.'''
print
prompt_SQ()
elif prompt_s == "examine wardrobe":
print "The door is ajar. You see a maid's uniform, but there is nothing of interest."
print
prompt_SQ()
elif prompt_s == "take gold":
if gotGold_SQ == 0 and gold_found2 == 1:
print "You get 5 gold!"
print
gold = gold+5
gotGold_SQ = 1
servants_quarters()
elif gotGold_SQ == 1:
print "There is no gold here."
print
prompt_SQ()
elif gold_found == 0:
print "Where is the gold?"
print
prompt_SQ()
elif prompt_s == "look":
serv_desc()
else:
print "That command is invalid"
print
prompt_SQ()
except ValueError:
print "That command is invalid"
print
prompt_SQ()
def living_room():
global statue
global gold
print "Current Gold = ",gold
print "Current statues = ",statue
print ''' You are in a large room. There is an old, decaying sofa and
a chair that has fallen into disrepair. Both are covered in cobwebs.
There is an old, dusty fireplace, with a large chimney. The logs and carpet
are caked with soot, presumably recent. It appears to have been a living
room at some point. There are exits (n)orth, (w)est and (s)outh.
Type 'help' for a full list of instructions.'''
print
prompt_liv()
def liv_desc():
print ''' There is an old, decaying sofa and a chair that has
fallen into disrepair. Both are covered in cobwebs. There is an old,
dusty fireplace, with a large chimney. The logs and carpet are caked
with soot, presumably recent.'''
print
prompt_liv()
def prompt_liv():
global gold
global gotGold_liv
global gold_found3
print
prompt_l = raw_input("Type a command: ").lower()
try:
if prompt_l == "s":
servants_quarters()
elif prompt_l =="n":
conservatory()
elif prompt_l == "examine sofa":
print ''' The sofa is in disrepair, there are springs poking
out everywhere.'''
print
prompt_liv()
elif prompt_l == "help":
help1()
prompt_liv()
elif prompt_l == "w":
main_hall()
elif prompt_l == "examine fireplace":
if gotGold_liv == 0:
print "There are ten, slightly sooty, gold pieces in the hearth."
print
gold_found3= 1
prompt_liv()
elif gotGold_liv == 1:
print "The hearth is a mess."
print
prompt_liv()
elif prompt_l == "examine chair":
print "The chair is in awful condition. The cushions have rising damp."
print
prompt_liv()
elif prompt_l == "take gold":
if gotGold_liv == 0 and gold_found3 == 1:
print "You got 10 gold!"
print
gold = gold+10
gotGold_liv = 1
living_room()
elif gotGold_liv == 1:
print "There is no gold here."
print
prompt_liv()
elif gold_found3 == 0:
print "Where is the gold?"
print
prompt_liv()
elif prompt_l == "look":
liv_desc()
else:
print "That command is invalid"
print
prompt_liv()
except ValueError:
print "That command is invalid"
print
prompt_liv()
def main_hall():
global gold
global statue
print "Current Gold = ",gold
print "Current statues = ",statue
print ''' You are in the main hall. You see a staircase, however it has
collapsed. There are three portraits surrounding you, captioned with names:
Master Daniel Redwood, Mistress Stephanie Redwood and Mister Ivan Redwood.
There are four exits, (n)orth, (s)outh, (e)ast and (w)est.'''
print
prompt_main()
def main_desc():
print ''' You see a staircase, however it has
collapsed. There are three portraits surrounding you, captioned with names:
Master Daniel Redwood, Mistress Stephanie Redwood and Mister Ivan Redwood.'''
print
prompt_main()
def prompt_main():
prompt_m = raw_input("Type a command: ").lower()
try:
if prompt_m == "s":
foyer()
elif prompt_m == "e":
living_room()
elif prompt_m == "w":
drawing_room()
elif prompt_m == "n":
kitchen()
elif prompt_m == "help":
help1()
prompt_main()
elif prompt_m == "look":
main_desc()
elif prompt_m == "examine pictures":
print ''' The family look happy in their respective photos.
They are wearing champion ribbons.'''
prompt_main()
elif prompt_m == "examine staircase":
print "The stairs are totally destroyed."
prompt_main()
else:
print "That command is invalid"
print
prompt_main()
except ValueError:
print "That command is invalid"
print
prompt_main()
def drawing_room():
global gold
global statue
print "Current gold = ",gold
print "Current statues = ",statue
print ''' You are in the drawing room. There is a table with documents
scattered all over it. There is a single painting, a portrait of the wife,
on the south wall. The bookshelves here are filled with diaries.
The exits are (n)orth, (s)outh and (e)ast.'''
print
prompt_draw()
def draw_desc():
print ''' There is a table with documents scattered all over it.
There is a single painting, a portrait of the wife, on the south wall.
The bookshelves here are filled with diaries.'''
print
prompt_draw()
def prompt_draw():
global gold
global gotGold_draw
global gold_found4
prompt_d = raw_input("Type a command: ").lower()
try:
if prompt_d == "s":
reading_room()
elif prompt_d == "e":
main_hall()
elif prompt_d =="n":
dining_room()
elif prompt_d == "look":
draw_desc()
elif prompt_d == "examine bookshelves":
print "The shelves are cluttered with diaries."
print
prompt_draw()
elif prompt_d == "examine table":
print ''' The floor plans are detailed here. The ground floor is layed out
in a three-by-three grid.'''
print
prompt_draw()
elif prompt_d == "examine portrait":
if gotGold_draw == 0:
print ''' She was hauntingly beautiful. There is a single
gold piece adorning the frame.'''
print
gold_found4 = 1
prompt_draw()
elif gotGold_draw == 1:
print "She was hauntingly beautiful."
print
prompt_draw()
elif prompt_d == "take gold":
if gotGold_draw == 0 and gold_found4 == 1:
print "You got 1 gold!"
gold = gold+1
gotGold_draw = 1
prompt_draw()
elif gotGold_draw == 1:
print "There is no gold here"
print
prompt_draw()
elif gold_found4 == 0:
print "Where is the gold?"
print
prompt_draw()
elif prompt_d == "help":
help1()
prompt_draw()
else:
print "That command is invalid"
print
prompt_draw()
except ValueError:
print "That command is invalid"
print
prompt_draw()
def conservatory():
global gold
global statue
print "Current gold = ",gold
print "Current statues = ",statue
print ''' You are in a large glass conservatory. There are plants everywhere.
There is a set of garden furniture right in the centre, and an assortment of
plants, potted around the edge. There are exits to the (s)outh and (w)est.
Type 'help' for a full list of commands.'''
print
prompt_con()
def con_desc():
print ''' You are in a large glass conservatory. There are plants everywhere.
There is a set of garden furniture right in the centre, and an assortment of
plants, potted around the edge.'''
print
def prompt_con():
prompt_c = raw_input("Type a command: ").lower()
try:
if prompt_c == "s":
living_room()
elif prompt_c == "w":
kitchen()
elif prompt_c == "examine plants":
print ''' There are several varieties of flowers and vines planted
in various locations in the conservatory.'''
print
prompt_con()
elif prompt_c == "look":
con_desc()
elif prompt_c == "examine furniture":
print ''' The furniture is a complete set. It is white. There are
three tables and a chair.'''
print
prompt_con()
elif prompt_c == "help":
help1()
prompt_con()
else:
print "That command is invalid"
print
prompt_con()
except ValueError:
print "That command is invalid."
print
prompt_con()
def kitchen():
global gold
global statue
print "Current Gold = ",gold
print "Current statues = ",statue
print ''' You are in a large kitchen. The sideboard is solid mahogany,
but hopelessly scratched. There is a large rusted gas stove in the corner
with what looks like a mouldy roast inside. The knife rack has a large
and menacing array of pointy things, but in stark contrast the cupboards
are all bare. The exits are (s)outh, (e)ast and (w)est.
Type help for a full list of commands.'''
print
prompt_kit()
def kit_desc():
print ''' The sideboard is solid mahogany, but hopelessly scratched.
There is a large rusted gas stove in the corner with what looks like
a mouldy roast inside.The knife rack has a large and menacing array of
pointy things, but in stark contrast the cupboards are all bare.'''
print
prompt_kit()
def prompt_kit():
prompt_k = raw_input("Type a command: ").lower()
try:
if prompt_k == "s":
main_hall()
elif prompt_k == "e":
conservatory()
elif prompt_k == "w":
dining_room()
elif prompt_k == "look":
kit_desc()
elif prompt_k == "examine sideboard":
print ''' The sideboard has been badly scratched. The wood is
worn away to almost nothing'''
print
prompt_kit()
elif prompt_k == "examine stove":
print "The stove is broken."
print
prompt_kit()
elif prompt_k == "examine roast":
print "Eeeeewwww!"
print
prompt_kit()
elif prompt_k == "examine rack":
print "The rack is full of sharp objects. Better stay away!"
print
prompt_kit()
elif prompt_k == "examine cupboard":
print "Empty"
print
prompt_kit()
elif prompt_k == "help":
help1()
prompt_kit()
else:
print "That command is invalid!"
print
prompt_kit()
except ValueError:
print "That command is invalid!"
print
prompt_kit()
def dining_room():
global gold
global statue
print "Current Gold = ",gold
print "Current statues = ",statue
print ''' There is a large oak table in the centre of the room. It, unlike
the rest of the house, is in good condition. There are 6 chairs around the table
that must have been used for the family and their friends. There is a large vase
in the corner that is decorated with a Salvador Dali work involving melting
clocks. On the north wall is a family photo containing not just the father, mother
and children but other family members too. On the west wall is a tapestry
depicting a great battle.
The Exits are (s)outh and (e)ast.
Type 'help' for a full list of commands.'''
print
prompt_din()
def din_desc():
print ''' There is a large oak table in the centre of the room. It, unlike
the rest of the house, is in good condition. There are 6 chairs around the table
that must have been used for the family and their friends. There is a large vase
in the corner that is decorated with a Salvador Dali work involving melting
clocks. On the north wall is a family photo containing not just the father, mother
and children but other family members too. On the west wall is a tapestry
depicting a great battle.'''
print
prompt_din()
def prompt_din():
global gotGold_din
global gold
global gold_found5
prompt_di=raw_input("Type a command: ").lower()
try:
if prompt_di == "e":
kitchen()
elif prompt_di == "s":
drawing_room()
elif prompt_di == "help":
help1()
prompt_din()
elif prompt_di == "examine table":
print "The table is untarnished. Strange..."
print
prompt_din()
elif prompt_di == "examine chairs":
print "There are enough for the whole family and three guests"
print
prompt_din()
elif prompt_di == "examine vase":
if gotGold_din == 0 and gold_found5 == 0:
print "There are 4 gold pieces in the vase."
print
gold_found5 = 1
prompt_din()
elif gotGold_din == 1:
print "It has a picture by Salvador Dali on it."
print
prompt_din()
elif prompt_di == "examine photo":
print "An old family photo. How sweet."
print
prompt_din()
elif prompt_di == "examine tapestry":
print "It depicts a ferocious war in the year... Let's see... 26BC."
print
prompt_din()
elif prompt_di == "take gold":
if gotGold_din == 0 and gold_found5 == 1:
print "You got 4 gold"
gotGold_din = 1
gold=gold+4
print
dining_room()
elif gotGold_din == 1:
print "No gold here"
print
prompt_din()
elif gold_found == 0:
print "Where is the gold?"
print
prompt_din()
else:
print "That command is invalid"
print
prompt_din()
except ValueError:
print "That command is invalid"
print
prompt_din()
def ending_floor1():
print ''' You place the coins on the doormat. The voice rings out again:
"I thank you for gathering these coins that I lost. I need them to fix the stairs.
I can't get upstairs if the stairs are gone, and that is where I pay my bills.
Follow me upstairs" You go to the Main Hall and are suprised to see the stairs
are already repaired. Amazed you follow him up.
"I have three statues that I may need to sell. Can you help me find them?"
You nod. "Fine then, here is a sword. You may need it." You see a blue barrier
form around the stairs. You move to ask him what it is, but he cuts you off with
"Can't have you trying to run off on me now can we?"'''
print
landing()
def landing():
print "Current statues = ",statue
print '''You are on the landing. The stairs back down are blocked by a blue
aura. The stairs to the attic are nonexistant. There are paintings
of a wide array of mythical creatures. There is just a large hole in the
ceiling where the ladder should be. The exits are (n)orth, (s)outh, (e)ast
and (w)est.
Type 'help' for a full list of commands.'''
print
prompt_land()
def landing_desc():
print '''The stairs back down are blocked by a blue aura. The stairs to the
attic are nonexistant. There are paintings of a wide array of mythical
creatures. There is just a large hole in the ceiling where the ladder
should be. The exits are (n)orth, (s)outh, (e)ast and (w)est.'''
print
prompt_land()
def prompt_land():
try:
print "Current Statues = ",statue
prompt_la = raw_input("Type a command: ").lower()
if prompt_la == "w":
bathroom()
elif prompt_la == "e":
servants_quarters2()
elif prompt_la == "n":
master_bedroom()
elif prompt_la == "s":
kid_bedroom()
elif prompt_la == "examine aura":
print "There is no way through. You are trapped."
print
prompt_land()
elif prompt_la == "examine paintings":
print '''On closer examination, all the paintings do share one creature.
They all have a Sphinx somewhere in the background or foreground.'''
print
prompt_land()
elif prompt_la == "help":
help1()
prompt_land()
else:
print "That command is invalid"
prompt_land()
except ValueError:
print "That command is invalid"
prompt_land()
def fight_unicorn():
global monster_HP1
global hp
hit_miss = random.choice('01')
if hit_miss == 1:
print "You hit the monster!"
monster_HP1 = monster_HP1 - 1
if monster_HP1 == 0:
print "You win!"
master_bedroom()
else:
monster_turn1()
else:
print "You Missed"
monster_turn1()
def monster_turn1():
monster_hit = random.choice('01')
if monster_hit == 1:
print "You are hit!"
hp = hp-1
if hp == 0:
print "Game Over"
else:
print "The monster missed"
fight_unicorn()
def master_bedroom():
global monsterKilled_Master
print "Current statues = ",statue
print '''You appear to be in the main bedroom. There is a large double bed
against the wall. There are two wardrobes on either side of it, and a bedside table
with an 1880s alarm clock.'''
if monsterKilled_Master == 0:
print '''There is a hideous demon on the bed. It resembles a unicorn, but it
has no skin, and it has a fifth leg that dangles from it's underbelly.'''
print
prompt_mas()
elif monsterKilled_Master == 1 and gotStatue_Master == 0:
print '''The bedsheets are stained with blood. There is a small statue of an
old man on the bed.'''
print
prompt_mas()
elif gotStatue_Master == 1:
print "The bedsheets are stained with blood."
def prompt_mas():
prompt_m = raw_input("Type a command: ")
if prompt_m == "s":
landing()
elif prompt_m == "attack demon":
fight_unicorn()
start()
foyer()
The problem lies here:
def fight_unicorn():
global monster_HP1
global hp
hit_miss = random.choice('01')
if hit_miss == 1:
print "You hit the monster!"
monster_HP1 = monster_HP1 - 1
if monster_HP1 == 0:
print "You win!"
master_bedroom()
else:
monster_turn1()
else:
print "You Missed"
monster_turn1()
def monster_turn1():
monster_hit = random.choice('01')
if monster_hit == 1:
print "You are hit!"
hp = hp-1
if hp == 0:
print "Game Over"
else:
print "The monster missed"
fight_unicorn()
Heres how it is meant to play out:
1) Player's turn. Select a number at random from 0 or 1
2)If 1 then you have hit the monster. Check to see if the monsters HP is at 0
3)If yes then player wins. Return to the room
4)If no then monster's turn
5)Monster's turn
6)See player step 1
7)If 1 then you are hit. -1 hp
8)If hp at 0 then GAME OVER
9)If 0 then miss. Player Turn
10) Repeat until one character is at 0 HP.
It keeps going:
Monster miss
Monster miss
Monster miss... Repeat ad infinitum.
How do I fix this?
Ene Uran 638 Posting Virtuoso
At first glance, random.choice('01') returns a string '0' or '1' so your if statement has to reflect that:
def fight_unicorn():
global monster_HP1
global hp
hit_miss = random.choice('01')
if hit_miss == '1': #!!!!!!!
print "You hit the monster!"
monster_HP1 = monster_HP1 - 1
if monster_HP1 == '0': #!!!!!!!!
print "You win!"
master_bedroom()
else:
monster_turn1()
else:
print "You Missed"
monster_turn1()
def monster_turn1():
monster_hit = random.choice('01')
if monster_hit == '1': #!!!!!!
print "You are hit!"
hp = hp-1
if hp == 0:
print "Game Over"
else:
print "The monster missed"
fight_unicorn()
Note, if you want an integer returned, use one of the following:
x = random.choice([0, 1])
print x, type(x) # testing
x = random.randrange(0, 2)
print x, type(x)
x = random.randint(0, 1)
print x, type(x)
chris99 0 Junior Poster
Thanks, it works perfectly now! That part was hard...
bumsfeld 413 Nearly a Posting Virtuoso
Chris, this approach would avoid the repetition of the room description and make the code shorter. Here is a test code:
gold = 0
gotGold_reading = 0
def reading_room():
global gold
print " Current Gold = ",gold
print " You are in a large reading room ..."
rea_desc()
#prompt_rea()
def rea_desc():
print ''' The room is stuffed with novels and poetry books on every
every shelf. There is a large table in the middle of the room.
It has a reading lamp, and a cluster of books scattered about
on top. The exits are (N)orth and (E)ast.
Type 'help' for a full list of commands.'''
print
prompt_rea()
def prompt_rea():
global gold
global gotGold_reading
prompt_r = raw_input("Type a command: ").lower()
# etc etc ...
reading_room()
chris99 0 Junior Poster
Ok, I'll take that into account, Bumsfield.
Be a part of the DaniWeb community
We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.