我在python 3.3上制作基于短信的游戏。这是我的代码的开始:
while True:
print ("You must answer all questions in block capitals")
print ("Welcome to maze runner")
print ("To learn about the controls press C")
print ("To learn the about the different types T")
print ("To play press START")
run = input ()
#Controls
if run == "C":
print ("To attack press H")
print ("To walk forward press W")
print ("To turn left press A")
print ("To turn right press D")
print ("To turn around press S")
print ("To block press B")
print ("To open stats press Q")
print ("To open this screen press C")
print ("To close this screen press C")
#Types
if run == "T":
print ("Soldier. Press S for more info")
print ("Archer. Press A for more info")
print ("Mage. Press M for more info")
print ("Changeling. Press C for more info")
print ("Rouge. Press R for more info")
print ("Press M to go to main menu")
type_info = input()
if type_info == "M":
break
#Solider info
if type_info == "S":
print ("Soldier: Good at close combat")
print (" Weak at long range combat")
print (" Average speed")
print (" Average blocker")
print ("Press M to go to main menu")
return_to_menu = input()
if return_to_menu == "M":
break
#Archer info
if type_info == "A":
print ("Archer: Weak at close combat")
print (" Good at long range combat")
print (" Good speed")
print (" Average blocker")
print ("Press M to go to main menu")
#Mage info
if type_info == "M":
print ("Mage: Weak at close combat")
print (" Good at long range combat")
print (" Average speed")
print (" Good blocker")
print ("Press M to go to main menu")
#Changeling info
if type_info == "C":
print ("Changling: Average at close combat")
print (" Average at long range combat")
print (" Average speed")
print (" Average blocker")
print ("Press M to go to main menu")
#Rouge info
if type_info == "R":
print ("Rouge: Average at close combat")
print (" Average at long range combat")
print (" Good speed")
print (" Good blocker")
print ("Press M to go to main menu")
我将下面的代码添加到了一些代码中。知道我什么时候运行它我得到一个错误,说不清楚地使用标签空间并突出显示行尾说:
print ("Mage: Weak at close combat")
为什么行之后没有空格
答案 0 :(得分:2)
当我跑步时,我得到:
... print ("Mage: Weak at close combat")
... print (" Good at long range combat")
File "<stdin>", line 51
print (" Good at long range combat")
^
IndentationError: unindent does not match any outer indentation level
检查“擅长长距离战斗”行 - 它似乎有一个标签而不是空格。
答案 1 :(得分:1)
当您不想返回主菜单时,您可以将所有上述代码放在while True:
循环中,并将break
放在循环中。
while True:
# your code here
return_to_menu = input()
if return_to_menu != 'M':
break
另一方面,我可能会使用else if
s。它们有点快,因为当其中一个条件匹配时,if
... else if
块中的其他条件不会被评估。
答案 2 :(得分:0)
print ("Soldier. Press S for more info")
print ("Archer. Press A for more info")
print ("Mage. Press M for more info")
print ("Changeling. Press C for more info")
print ("Rouge. Press R for more info")
print ("Press M to go to main menu")
所以M对于Mage和Menu来说都是如此。糟糕。