Понятный он будет с комментариями.
почему тогда в уровне "1" всё нормально, а в других в некоторых местах происходит эта фигня? я не знаю.. вот и прошу помочь!
|
Вроде очевидно, что в первом уровне некуда вылезть - там прямоугольник. В 3-м тоже.
Остальные же уровни предполагают проверку пути, по которому движется шарик. Если он собирается вылезть за поле, нужно это пресекать и заставить его двигаться другим путем (их всегда не меньше двух при перемещении между клетками по диагонали).
В 4-м уровне шарик двигается по прямой, игнорируя пределы поля.
Это не баг, это просто недописанный алгоритм передвижения.