Решение с тестами(кроме ситуации с шагом в стену из капкана)