Python 输入问题与我的文字冒险游戏
请参阅下面我的整个项目代码。它还没有完成 这就是游戏的工作原理:你输入一个动作,如果它存在,玩家就会执行。代码会检查您键入的单词是否与该房间中与该单词相似的单词匹配。问题是,输入的机会并不总是给您的,项目只是结束或命令提示符关闭。请帮助我,在你输入每一个命令后,它保证不会像现在一样关闭,并允许玩家输入一些东西Python 输入问题与我的文字冒险游戏,python,text,input,shutdown,adventure,Python,Text,Input,Shutdown,Adventure,请参阅下面我的整个项目代码。它还没有完成 这就是游戏的工作原理:你输入一个动作,如果它存在,玩家就会执行。代码会检查您键入的单词是否与该房间中与该单词相似的单词匹配。问题是,输入的机会并不总是给您的,项目只是结束或命令提示符关闭。请帮助我,在你输入每一个命令后,它保证不会像现在一样关闭,并允许玩家输入一些东西 import os os.system("cls") openleft = '0' openright = '0' room = '0' lights = '0' draweropen
import os
os.system("cls")
openleft = '0'
openright = '0'
room = '0'
lights = '0'
draweropen = '0'
key = '0'
unlocked = '0'
open = ("It is already open.")
closed = ("It is already closed.")
shut = ("It is closed shut.")
print(" ")
print("*Stuck? Need Some Help? Try Using Some Commands Like:")
print("Open / Close / Unlock / Enter / Look / Check / ")
print(" ")
print("---------------------------------------------------------------------")
print("Welcome To A Text Adventure")
print("---------------------------------------------------------------------")
print(" ")
print("---------------------------------------------------------------------")
print("The Building")
print("---------------------------------------------------------------------")
print(" ")
print(" ")
print("You awake on the hard floor of a white room.")
if room == '0':
print("There are two wooden doors.")
i = input(">>>")
if 'look' in i:
print ("You see nothing.")
i = input(">>>")
if 'check' in i:
print ("You see nothing.")
i = input(">>>")
if 'open' in i:
if 'left' not in i:
if 'right' not in i:
print("Open what?")
i = input(">>>")
if 'open' in i:
if 'left' in i:
if 'right' in i:
print("Pick a single door.")
i = input(">>>")
if 'open' in i:
if 'left' in i:
if 'right' not in i:
if openleft == '0':
print("You open the left door.")
openleft = '1'
i = input(">>>")
else:
print(open)
i = input(">>>")
if 'open' in i:
if 'right' in i:
if 'left' not in i:
if unlocked == '0':
print("You attempt to open the door, but it's locked.")
i = input(">>>")
if unlocked == '1':
if openright == '0':
print("You open the right door.")
openright = '1'
i = input(">>>")
else:
print(open)
i = input(">>>")
if 'unlock' in i:
if 'right' in i:
if 'left' in i:
print("Pick a single door.")
i = input(">>>")
if 'unlock' in i:
if 'right' not in i:
if 'left' not in i:
print("Unlock what?")
i = input(">>>")
if 'unlock' in i:
if 'right' not in i:
if 'left' in i:
print("It does not have a lock.")
i = input(">>>")
if 'unlock' in i:
if 'right' in i:
if 'left' not in i:
if key == '0':
print("You cannot without a key.")
i = input(">>>")
if key == '1':
if unlocked == '0':
print("You unlock the door.")
unlocked = '1'
i = input(">>>")
if unlocked == '1':
print("It is already unlocked.")
i = input(">>>")
if 'close' in i:
if 'left' not in i:
if 'right' not in i:
print("Open what?")
i = input(">>>")
if 'close' in i:
if 'left' in i:
if 'right' in i:
print("Pick a single door.")
i = input(">>>")
if 'close' in i:
if 'left' in i:
if 'right' not in i:
if openleft == '0':
print(closed)
i = input(">>>")
else:
print("You close the left door.")
openleft = '0'
i = input(">>>")
if 'close' in i:
if 'right' in i:
if 'left' not in i:
if openright == '0':
print(closed)
else:
print("You close the right door.")
openright = '0'
i = input(">>>")
if 'enter' in i:
if 'right' in i:
if 'left' in i:
print("You cannot enter both.")
i = input(">>>")
if 'enter' in i:
if 'right' not in i:
if 'left' not in i:
print("Enter what?")
i = input(">>>")
if 'enter' in i:
if 'right' in i:
if 'left' not in i:
if openright == '0':
print(shut)
i = input(">>>")
if openright == '1':
print("You enter.")
room = '2'
if 'enter' in i:
if 'right' not in i:
if 'left' in i:
if openleft == '0':
print(shut)
i = input(">>>")
if openleft == '1':
print("You enter.")
print ("It is a dark room.")
room = '1'
if 'enter' not in i:
if 'open' not in i:
if 'close' not in i:
if 'left' not in i:
if 'right' not in i:
if 'open' not in i:
if 'close' not in i:
if 'unlock' not in i:
if 'look' not in i:
if 'check' not in i:
print("What?")
i = input(">>>")
if room == '1':
print ("You barely see the light switch next to you.")
i = input(">>>")
if 'flip' in i:
if 'switch' in i:
if lights == '0':
print("You turn on the lights.")
lights = '1'
else:
print("You turn off the lights.")
lights = '0'
if 'turn' in i:
if 'on' in i:
if 'off' not in i:
if lights == '0':
print("You turn on the lights.")
lights = '1'
else:
print("The lights are already on.")
if 'turn' in i:
if 'off' in i:
if 'on' not in i:
if lights == '1':
print("You turn off the lights.")
lights = '0'
else:
print("The light are already off")
if 'look' in i:
if 'drawer' not in i:
if lights == '0':
print("It is too dark to see.")
if lights == '1':
print("You see a drawer in the corner of the room.")
if 'check' in i:
if 'drawer' not in i:
if lights == '0':
print("It is too dark to see.")
if lights == '1':
print("You see a drawer in the corner of the room.")
您应该使用while循环连续获取输入,直到指定的中断条件发生。此时程序中发生的事情是代码从if语句的末尾脱落
if room == '1':
print ("You barely see the light switch next to you.")
i = input(">>>")
if 'flip' in i:
if 'switch' in i:
if lights == '0':
print("You turn on the lights.")
lights = '1'
else:
print("You turn off the lights.")
lights = '0'
if 'turn' in i:
if 'on' in i:
if 'off' not in i:
if lights == '0':
print("You turn on the lights.")
lights = '1'
else:
print("The lights are already on.")
if 'turn' in i:
if 'off' in i:
if 'on' not in i:
if lights == '1':
print("You turn off the lights.")
lights = '0'
else:
print("The light are already off")
if 'look' in i:
if 'drawer' not in i:
if lights == '0':
print("It is too dark to see.")
if lights == '1':
print("You see a drawer in the corner of the room.")
if 'check' in i:
if 'drawer' not in i:
if lights == '0':
print("It is too dark to see.")
if lights == '1':
print("You see a drawer in the corner of the room.")
在这段代码中,只要求输入一次。如果您执行以下操作
if room == '1':
print ("You barely see the light switch next to you.")
while(cond):
rest of the code
然后将cond标记为false,以在完成时结束循环。我删除了所有的I=input(“>>>”),但我仍然不知道如何循环以连续获取输入。很抱歉两天前我开始学习Python。这是一个关于如何为游戏提供无限用户输入的入门指南。我知道我不应该评论说谢谢。。。但你是一个救生员。通常这是由于你的程序有错误。试着加入一个全面的测试,看看是否有任何错误,这可能会帮助您修复它们。看见