public override void Handle(IMarsRover marsRover)
 {
     if (marsRover.CurrentNavigator.Equals('L'))
     {
         marsRover.UpdateDirection(Enum_Direction.Direction_N);
         marsRover.SetCurrentState(NorthPointing);
     }
     else if (marsRover.CurrentNavigator.Equals('R'))
     {
         marsRover.UpdateDirection(Enum_Direction.Direction_S);
         marsRover.SetCurrentState(SouthPointing);
     }
     else if (marsRover.CurrentNavigator.Equals('M'))
     {
         marsRover.UpdateCoordinate(marsRover.CurrentPosition.Xaxis + 1, marsRover.CurrentPosition.Yaxis);
     }
 }
 public override void Handle(IMarsRover marsRover)
 {
     if (marsRover.CurrentNavigator.Equals('L'))
     {
         marsRover.UpdateDirection(Enum_Direction.Direction_W);
         marsRover.SetCurrentState(WestPointing);
     }
     else if (marsRover.CurrentNavigator.Equals('R'))
     {
         marsRover.UpdateDirection(Enum_Direction.Direction_E);
         marsRover.SetCurrentState(EastPointing);
     }
     else if (marsRover.CurrentNavigator.Equals('M'))
     {
         marsRover.UpdateCoordinate(marsRover.CurrentPosition.Xaxis, marsRover.CurrentPosition.Yaxis + 1);
     }
 }
 public override void Handle(IMarsRover marsRover)
 {
     RoverState currentState = null;
     if (marsRover.CurrentPosition.Direction == Enum_Direction.Direction_N)
     {
         currentState = NorthPointing;
     }
     else if (marsRover.CurrentPosition.Direction == Enum_Direction.Direction_S)
     {
         currentState = SouthPointing;
     }
     else if (marsRover.CurrentPosition.Direction == Enum_Direction.Direction_E)
     {
         currentState = EastPointing;
     }
     else if (marsRover.CurrentPosition.Direction == Enum_Direction.Direction_W)
     {
         currentState = WestPointing;
     }
     marsRover.SetCurrentState(currentState);
     currentState.Handle(marsRover);
 }
Exemplo n.º 4
0
 public void Execute(IMarsRover marsRover)
 {
     marsRover.Forward();
 }
 public void InitiallizeRover(IPosition roverPosition)
 {
     _roverinAction = new MarsRover(roverPosition, _plateau,new InitialState());
 }
Exemplo n.º 6
0
 public void Execute(IMarsRover marsRover)
 {
     marsRover.TurnRight();
 }
 public abstract void Handle(IMarsRover marsRover);
Exemplo n.º 8
0
 public void Execute(IMarsRover marsRover)
 {
     marsRover.TurnLeft();
 }
Exemplo n.º 9
0
 public void Execute(IMarsRover marsRover)
 {
     Console.WriteLine("Navigation command not found");
 }