基于Python文本的冒险游戏,需要帮助吗
我需要一些帮助来弄清楚为什么我的游戏不允许我拿起剑。 出现的错误消息是 回溯(最近一次呼叫最后一次): 文件“”,第36行,在 文件“”,第1行,在 名称错误:未定义名称“y” 这是一个基本的游戏,我对这个很陌生,所以简单的术语会很好基于Python文本的冒险游戏,需要帮助吗,python,Python,我需要一些帮助来弄清楚为什么我的游戏不允许我拿起剑。 出现的错误消息是 回溯(最近一次呼叫最后一次): 文件“”,第36行,在 文件“”,第1行,在 名称错误:未定义名称“y” 这是一个基本的游戏,我对这个很陌生,所以简单的术语会很好 print 'You enter a Dungeon with three doors. Do you want to enter door #1 door #2 or door #3?' door = raw_input('> ') if door ==
print 'You enter a Dungeon with three doors. Do you want to enter door #1 door #2 or door #3?'
door = raw_input('> ')
if door == "1":
print 'Theres a dragon eating a human, the dragon is massive and looks terrifying'
print 'what do you want to do?'
print '#1 try to save the human'
print '#2 scream and run around'
dragon = raw_input('> ')
if dragon == "1":
print 'You approach the dragon sneakily. After what feel like a thousand years you are finally close to the dragon. You try to step closer. The dragon shifts and crushes you. Well done!'
elif dragon == "2":
print 'You scream and run around like a chicken with no head. The dragon is not impressed with you. It snorts and engulfs you in flames. You die a painful and worthless death. Well done!'
elif door == "2":
print 'You stare into a deep dark cave.'
print 'Oh dear, it seems you have been driven you quite insane.'
print '#1. drool'
print '#2. scream, drool, and walk forward'
print '#3. Understand computer programming completely and get an A plus'
insanity = raw_input('> ')
if insanity == "1":
print 'Your body survives but your mind does not, you drool for eternity!'
if insanity == "2":
print 'You slip on a mysterious liquid, then fall into a deep sleep, you awake years later at the kiss of a prince. Yay!'
if insanity == "3":
print 'Congradulations! You passed Programming! Time to graduate and face the real world.. So I guess you actully lost. Sorry.'
elif door == "3":
print ("You emerge into a brighter area and see a small sword lying on the ground")
ch1 = str(input("Do you take it? [y/n]:"))
if ch1 == "y":
print 'You have taken the sword!'
stick = 1
else:
print 'You have chosen not to take the sword'
sword = 0
如果使用input
且用户键入“y”,解释器将搜索变量y
,并返回其值。您没有y
变量,因此它会崩溃。您可能想在此处使用原始输入
,而不是输入
ch1 = str(raw_input("Do you take it? [y/n]:"))
顺便说一下,raw\u input
返回一个字符串,因此您实际上不需要调用str
ch1 = raw_input("Do you take it? [y/n]:")
更正的答复:
使用原始输入代替输入
In [32]: ch1 = raw_input("Do you take it? [y/n]:")
Do you take it? [y/n]:y
In [33]: ch1
Out[33]: 'y'
这个问题已经问了好几次了。这是一个复制品
In [32]: ch1 = raw_input("Do you take it? [y/n]:")
Do you take it? [y/n]:y
In [33]: ch1
Out[33]: 'y'