Там походу автор накосячил с высотами. Если на клетке, лево верх от расположения героя стоит не проходимый объект, то по стандарту ему дается высота 1.0 и первая же проверка по высоте той клетки выбивала цикл с false. Я добавил проверку на совпадения координат героя и проверяемой клетки до этого момента. Вроде работает. На замени скрипт попробуй. https://yadi.sk/i/lT5rKmTGchoPA