Когда я спотыкался по учебнику, у меня была повторяющаяся проблема (повторяю, повторяю, потому что она, казалось, спонтанно разрешилась после того, как я отказался от дня и позже снова появляться, я не знаю, что я сделал, чтобы это случилось) с ошибкой:IndexError: индекс индекса за пределами допустимого диапазона
Traceback (most recent call last):
File "roguelike.py", line 215, in <module>
make_map()
File "roguelike.py", line 131, in make_map
create_room(new_room)
File "roguelike.py", line 84, in create_room
map[x][y].blocked = False
IndexError: list index out of range
Соответствующий код ниже:
def create_room(room):
global map
#set all tiles inside the room to passable
for x in range(room.x1 + 1, room.x2):
for y in range(room.y1 + 1, room.y2):
map[x][y].blocked = False
map[x][y].block_sight = False
Он оказался в точке, где я сравнивал код Я написал по-символу код примера, написанный в учебнике, без везения. Это первый раз, когда в программе используется «карта», и я довольно упущен, когда дело доходит до списков в python.
Как последнее замечание, я размышлял по другим вопросам в том же духе, но я не мог применить их к своей ситуации из-за моих ограниченных знаний.
Честно говоря, я бы держаться подальше от любого учебника, который использует имена переменных, как 'map' (который затеняет встроенный function 'map()'). –
Из интереса, что такое учебник? Я видел так много вопросов на Python с картами и номерами здесь. – YXD
Если вам нужен ответ, я думаю, вам нужно добавить какой-то контекст. Что такое карта? Насколько велика она должна быть? Что делает остальная часть этого учебника? Ссылка на учебник, вероятно, тоже будет полезна. Исключительно основанный на том, что вы опубликовали, трудно дать вам полезный ответ. –