#--------------input-------------#
def getmove():
global room,posx,posy,moves,dead,inventory,foods,drinks,food,water
move=input()
if move == 'e':
posx=posx+1
if move == 'w':
posx=posx-1
if move == 's':
posy=posy+1
if move == 'n':
posy=posy-1
if 'grab' in move:
additem(move,inventory)
if move == 'inventory':
print(inventory)
if move == 'save':
moves-=1
food+=1
water+=1
save(posx,posy,moves,dead,food,water)
if move == 'load_save':
moves-=1
food+=1
water+=1
load_save()
if move == 'search':
search(inventory)
if move == 'eat':
food+=4
eat()
if move == 'drink':
water+=4
drink()
if food <= 2:
print('You start to feel hungry')
if water <=2:
print('You start to feel thirsty')
if food == 0 or water == 0:
dead = True
seeifdead(room,posx,posy,moves,dead,inventory,foods,drinks)
moves+=1
food-=1
water-=1
else:
print('I dont understand')
moves-=1
food+=1
water+=1
#print(posx,posy,moves,dead)
getroom(posx,posy,moves,dead,room)
#print(posx,posy,moves,dead)
getmove()
我在大学时就编写了一个python程序,用于一款基本游戏,它可以正常工作,但是几年后它停止工作,并且我看不到任何问题
当我运行程序时,它抱怨else语句上的语法无效,但是我没有发现任何问题,但是总的来说,我距编程已经有将近两年的时间了。有人可以帮我了解我做错了什么吗?
如果需要,我可以添加整个程序,这只是输入的一部分
非常感谢您:)
答案 0 :(得分:0)
检查这部分代码:
if food == 0 or water == 0:
dead = True
seeifdead(room,posx,posy,moves,dead,inventory,foods,drinks)
moves+=1
food-=1
water-=1
else:
print('I dont understand')
moves-=1
food+=1
water+=1
您在if和其后的else之间有代码。 这将导致语法错误。
if food == 0 or water == 0:
dead = True
seeifdead(room,posx,posy,moves,dead,inventory,foods,drinks)
moves+=1
food-=1
water-=1
else:
print('I dont understand')
moves-=1
food+=1
water+=1
将其与以上部分进行比较,看看有什么区别。