【发布时间】:2017-10-01 11:14:56
【问题描述】:
我有这个项目,我必须制作一个基本的基于文本的迷宫/冒险游戏。到目前为止,这是我的代码,但很奇怪。我希望它能够随时退出并在输入不在选项中时显示“请选择可用方向”。我知道我的代码是错误的,但我不知道该怎么做。有人可以帮我吗?谢谢!
顺便说一句,我将此链接用作指南http://programarcadegames.com/index.php?chapter=lab_adventure
maze_list = []
maze = ['Available Directions: East', None, 1, None, None]
maze_list.append(maze)
maze = ['Available Directions: East, South', None, 2, 3, 0]
maze_list.append(maze)
maze = ['Available Directions: West', None, None, None, 1]
maze_list.append(maze)
maze = ['Available Directions: North, East', 1, 4, None, None]
maze_list.append(maze)
maze = ['Available Directions West, South', None, None, 5, 3]
maze_list.append(maze)
current_tile = 0
print(maze_list[0])
done = False
while done != True:
print('')
print(maze_list[current_tile][0]) # available directions
move = raw_input('Which direction will you take?' )
if move == 'East' or 'east' or 'EAST':
next_tile = maze_list[current_tile][2]
current_tile = next_tile
print('')
print(maze_list[current_tile][0])
move = raw_input('Which direction will you take? ')
if move == 'South' or 'south' or 'SOUTH':
next_tile = maze_list[current_tile][3]
current_tile = next_tile
print('')
print(maze_list[current_tile][0])
move = raw_input('Which direction will you take? ')
if move == 'East' or 'east' or 'EAST':
next_tile = maze_list[current_tile][2]
current_tile = next_tile
print('')
print(maze_list[current_tile][0])
move = raw_input('Which direction will you take? ')
if move == 'South' or 'south' or 'SOUTH':
next_tile = maze_list[current_tile][3]
current_tile = next_tile
print('Nice')
if move == 'Quit' or 'quit' or 'QUIT':
print('Better luck next time. \nGoodbye.')
elif move == 'West' or 'west' or 'WEST':
next_tile = maze_list[4]
current_tile = next_tile
else:
print('Please choose an available direction')
elif move == 'Quit' or 'quit' or 'QUIT':
print('Better luck next time. \nGoodbye.')
elif move == 'North' or 'north' or 'NORTH':
next_tile = maze_list[1]
current_tile = next_tile
else:
print('Please choose an available direction')
elif move == 'Quit' or 'quit' or 'QUIT':
print('Better luck next time. \nGoodbye.')
elif move == 'East' or 'east' or 'EAST':
next_tile = maze_list[current_tile][2]
current_tile = next_tile
else:
print('Please choose an available direction')
elif move == 'Quit' or 'quit' or 'QUIT':
print('Better luck next time. \nGoodbye.')
else:
print('Please choose an available direction.')
【问题讨论】:
-
from random import random; print("\n".join(''.join('/' if random()<0.5 else '\\' for _ in range(3)) for _ in range(3)));)