Exemple #1
0
 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);
         }
     }
 }
Exemple #2
0
        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);
        }