question about function not executing
Juho Schultz
juho.schultz at pp.inet.fi
Sun Nov 26 14:53:56 EST 2006
Hint:
Posting only the piece of code causing the problem will give you more
answers...
Ara Kooser wrote:
> Hello all,
>
> I hope I am posting this correctly. I am running Python 2.4.2 on
> Slackware 11.0 using IDLE. I am in the process of learning python so I
> am writing a text adventure game using functions and global variables
> only. I know there is a better way to do this but that is for later.
>
> When I run the python program it works fine until I try to go west
> from my inital start room. I get the room description but no raw_input
> prompt. I just get dumped back to >>> in the python shell. I think I
> am missing something simple. I pasted in the code below. I am using
> gmail so I hope the formatting stays. If not I can send the .py as an
> attachment if needed. Thanks.
>
> Ara
>
<clip>
Giving the command 'w', you call meadow1()
> elif prompt_o1 == "w":
> meadow1()
> def meadow1():
>
<clip>
> print
> prompt_meadow1
So you end up here, the meadow1() function returns to the
except ValueError:
and ends then as expected.
>
> def meadow1_desc():
> prompt_meadow1
Same problem would occur in here.
I guess you want to call this:
> def prompt_meadow1():
>
> prompt_m1 = raw_input("Type a command: ").lower()
So write
prompt_meadow1()
instead of
prompt_meadow1
(experiment in python shell and you see the difference.
>>> raw_input
<built-in function raw_input>
>>> raw_input()
now python waits for your input
For the player, create a class.
class player(object):
def __init__(self):
self.poisoned = False
def take_poison(self):
print 'You are poisoned'
self.poisoned = True
# effects of poison in here:
# take some hitpoints
# maybe reduce some stats
# and so on...
# now, generate a player instance
p = player() # calls __init__
# poison the player
p.take_poison()
--
Juho Schultz
More information about the Python-list
mailing list