private static FacesEnum Turn(int newFace, FacesEnum defaultFace) { if (Enum.IsDefined(typeof(FacesEnum), newFace)) { return((FacesEnum)newFace); } else { return(defaultFace); } }
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()); }
public static FacesEnum TurnRight(FacesEnum currentFace) { return(Turn((int)currentFace - 1, FacesEnum.EAST)); }
public static FacesEnum TurnLeft(FacesEnum currentFace) { return(Turn((int)currentFace + 1, FacesEnum.NORTH)); }
public void UpdateFace(FacesEnum newFace) { this.Face = newFace; }
void ICommand.Execute(ToyRobot toyRobot) { FacesEnum newPotentialFace = GetPotentialFace(toyRobot); toyRobot.UpdateFace(newPotentialFace); }