Вот мой код для части моей игры «Hunt the Wumpus (WAMPA)». Он работает, если я делаю диапазон (0,20), но если я это сделаю (1,21), то есть еще 20 пещер, но нет «Пещерного номера 0» ..., который только я финишный ... и это говорит, что индекс списка выходит за пределы диапазона ... не уверен, почему перемещение всего на одну цифру в моем диапазоне будет делать это, поскольку нет прямой ссылки на конкретный номер в этом диапазоне где-нибудь еще ... поэтому удаление 0 shouldn «т быть проблемой, но увы ... это ... вот код, где ошибка от:IndexError: list index находится за пределами допустимого диапазона
from random import choice
cave_numbers = range(1,21)
caves = []
for i in cave_numbers:
caves.append([])
for i in cave_numbers:
for j in range(3):
passage_to = choice(cave_numbers)
caves[i].append(passage_to)
а вот код в полном объеме, только ради ЗАВЕРШЕНИЕ в:
from random import choice
cave_numbers = range(1,21)
caves = []
for i in cave_numbers:
caves.append([])
for i in cave_numbers:
for j in range(3):
passage_to = choice(cave_numbers)
caves[i].append(passage_to)
wampa_location = choice(cave_numbers)
wampa_friend_location = choice(cave_numbers)
player_location = choice(cave_numbers)
while (player_location == wampa_location or player_location == wampa_friend_location):
player_location = choice(cave_numbers)
print("Welcome to Hunt the Wampa!")
print("You can see", len(cave_numbers), "caves.")
print("To play, just type the number")
print("of the save you wish to enter next.")
player_location != wampa_location
while True:
if player_location != wampa_location:
print("You are in cave", player_location)
print("From here, you can see caves:", caves[player_location])
if(player_location == wampa_location -1 or player_location == wampa_location +1):
print("I smell a Wampa!")
if(player_location == wampa_friend_location -1 or player_location == wampa_friend_location +1):
print("I smell a stinky Wampa!")
print("Which cave next?")
player_input = input(">")
if(not player_input.isdigit() or
int(player_input) not in caves[player_location]):
print(player_input, "isn't a cave you can see from here!")
else:
player_location = int(player_input)
if player_location == wampa_location:
print("Aargh! You got eaten by a Wampa!")
if player_location == wampa_friend_location:
print("Aargh! You got eaten by the Wampa's friend!")
Прошу прощения, если на отступлении это плохо, некоторые из них линии обертывают, и я потерял свое место ... но я думаю, что ошибка в этих первых 11 строках в любом случае.
Спасибо ребята