/
GeoExe
/
Maze_Robot
Обзор
Документация
Войти
/
GeoExe
/
Maze_Robot
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
Mazes/DiagonalMazeTask.cs
35 строк
1 KB
GeoExe
Files with tasks uploaded
14 окт 2025, 21:18
14 окт 2025, 21:18
0a1ac52
Код
Авторство
О чём код?
namespace Mazes { public static class DiagonalMazeTask { public static void MoveOut(Robot robot, int width, int height) { var (direction, secondaryDirection, stepCount) = GetDirections(width, height); MoveRobot(robot, direction, secondaryDirection, stepCount); } private static (Direction, Direction, int) GetDirections(int width, int height) { if (width > height) return (Direction.Right, Direction.Down, (width - 2) / (height - 2)); else return (Direction.Down, Direction.Right, (height - 2) / (width - 2)); } private static void MoveRobot(Robot robot, Direction direction, Direction secondaryDirection, int mainSteps) { while (!robot.Finished) { MoveAgain(robot, direction, mainSteps); if (robot.Finished) break; MoveAgain(robot, secondaryDirection, 1); } } private static void MoveAgain(Robot robot, Direction direction, int steps) { for (int i = 0; i < steps && !robot.Finished; i++) robot.MoveTo(direction); } } }