Я пытаюсь создать игру, похожую на змею. Разница заключается в том, что рацион питания получают с помощью randint, и тогда игрок сможет выбрать, в каком направлении должна расти змея, также выбирается случайная позиция. Поле игры построено с матрицей, и поэтому можно «расти» в стенах, путем выбора направления роста, из-за чего список выходит за пределы диапазона.Создание оператора if с помощью indexerror - Python
Мой вопрос, если это возможно, чтобы создать если statemant, что бы закончить игру с «игра закончена», если игрок выбрал расти таким образом, что делает список выходят из диапазона, что-то вроде:
if IndexError: list index out of range :
print("Game over")
с обработкой моего кода будет выглядеть примерно так: исключением
try :
if p == 0:
table[x][y] = "+"
elif p == 1:
table[x][y] = "+"
table[x][y+1] = "+"
elif p == 2:
table[x][y] = "+"
table[x][y+1] = "+"
table[x][y+2] = "+"
else:
table[x][y] = "+"
table[x][y+1] = "+"
table[x][y+2] = "+"
table[x][y+3] = "+"
except IndexError :
print ("Game Over")
Но я получаю ошибку «Unindent не соответствует ни уровню отступа наружного видного»
Это потому, что ваш код неправильно отступил. –
Убедитесь, что операторы try и except имеют одинаковый отступ, что все из if/elif/else внутри них имеют одинаковый отступ и что все содержимое каждого состояния if/elif/else имеет одинаковый отступ , Даже одно место все испортит! – ApproachingDarknessFish
О! Я не знал, что в отпечатке был тот importan! Большое спасибо, похоже, что он работает сейчас! – Nekroz