private static void PositionXChanged(StreamMessage streamMessage, ClientRobot robot, Position oldPosition) { if (robot.IsCloserToYAxis(oldPosition)) { if (robot.Position.X >= 0) { TurnLeft(streamMessage, robot); } else { TurnRight(streamMessage, robot); } } else { if (robot.Position.X >= 0) { TurnRight(streamMessage, robot); } else { TurnLeft(streamMessage, robot); } } }
private static void GetToYAxis(StreamMessage streamMessage, ClientRobot robot) { if (robot.Position.X == 0) { return; } while (robot.Position.X != 0) { var oldPosition = robot.Position; Move(streamMessage, robot); if (robot.IsCloserToYAxis(oldPosition)) { continue; } if (robot.HasntMoved(oldPosition)) { continue; } if (robot.Position.Y != oldPosition.Y) { PositionYChanged(streamMessage, robot); continue; } TurnAbout(streamMessage, robot); } Console.WriteLine(robot.Position); }