Егор
Привет. На самом деле не очень понятен алгоритм, по которому ты ищешь выход. Но вот например: у тебя есть условие
if wall_is_above() and wall_is_beneath() == 0. wall_is_beneath возвращает False (0), когда внизу нет стены. А стена есть всегда, поэтому условие и не работает.
Я убрал wall_is_beneath() и код заработал так как надо. Изначально я думал, что код возвращает значения 0 и 1 соответственно. И по законам логики 0 И 1 = 0, поэтому я думал, что это должно срабоать