Example #1
0
 private static FacesEnum Turn(int newFace, FacesEnum defaultFace)
 {
     if (Enum.IsDefined(typeof(FacesEnum), newFace))
     {
         return((FacesEnum)newFace);
     }
     else
     {
         return(defaultFace);
     }
 }
Example #2
0
        public PlaceCommand(SimulatorMap map, string args)
        {
            if (String.IsNullOrEmpty(args))
            {
                throw new InvalidArgumentsException();
            }

            var argumentsSplitted = args.Split(',');

            if (argumentsSplitted.Length != 3)
            {
                throw new InvalidArgumentsException();
            }

            this.map = map;
            this.potentialPosition = Tuple.Create(int.Parse(argumentsSplitted[0]), int.Parse(argumentsSplitted[1]));
            this.potentialFace     = (FacesEnum)Enum.Parse(typeof(FacesEnum), argumentsSplitted[2].ToUpper());
        }
Example #3
0
 public static FacesEnum TurnRight(FacesEnum currentFace)
 {
     return(Turn((int)currentFace - 1, FacesEnum.EAST));
 }
Example #4
0
 public static FacesEnum TurnLeft(FacesEnum currentFace)
 {
     return(Turn((int)currentFace + 1, FacesEnum.NORTH));
 }
Example #5
0
 public void UpdateFace(FacesEnum newFace)
 {
     this.Face = newFace;
 }
        void ICommand.Execute(ToyRobot toyRobot)
        {
            FacesEnum newPotentialFace = GetPotentialFace(toyRobot);

            toyRobot.UpdateFace(newPotentialFace);
        }