В данном случае я просто сделал тем способом, который был на памяти. Волноовй алгоритм я не помнил, поэтому и не парился.
А вообще, есть мысль сделать (в моём примере) переходы между квадратами разными - бег по песку, например, и бег по ровной твёрдой поверхности отличаются немного
