только стены, с которыми можно столкнуться; текстовая игра на python

#python #string #list #text

#python #строка #Список #текст

Вопрос:

Я создал текстовую игру в безделушке python. Я создал систему столкновений, которая активируется всякий раз, когда вы нажимаете клавишу (в каждой ключевой функции она проверяет, есть ли под вами блок после перемещения. если есть, это переместит вас на 1 ячейку назад, откуда вы пришли). Меня смущает то, что стены этапов работают отлично, но когда в середине этапов есть какие-либо блоки, вы можете пройти прямо через них. Нет сообщений об ошибках или чего-либо еще, что могло бы подсказать мне, откуда происходит сбой столкновения. Я попытался выстроить блоки в прямую линию, чтобы воспроизвести стену, но вы все равно можете пройти сквозь них.

Безделушка: https://trinket.io/library/trinkets/fc64f127d3

Ответ №1:

left, right, up, down Все ваши функции используют глобальную level переменную. render Функция использует обновленную версию уровня, которая на уровне 2 включает блок. Однако ваши функции управления направлением по-прежнему используют уровень 1, который не имеет блока.

Для быстрого исправления вы можете добавить global level в начало своей render функции, чтобы глобальная переменная обновлялась при повышении уровня с 1 до 2.