public override string SetDirection(TurnPositionEnum turnPosition) { if (turnPosition == TurnPositionEnum.Right) { return(((Enum)CardinalDirectionEnum.South).GetDisplayName()); } else { return(((Enum)CardinalDirectionEnum.Nort).GetDisplayName()); } }
//Strategy Design public string SetDirection(CardinalDirectionEnum cardinalDirection, TurnPositionEnum turnPositionEnum) { switch (cardinalDirection) { case CardinalDirectionEnum.Nort: _cardinalDirectionStrategyContext = new CardinalDirectionStrategyContext(new NortDirection()); return(_cardinalDirectionStrategyContext.ContextInterface(turnPositionEnum)); case CardinalDirectionEnum.East: _cardinalDirectionStrategyContext = new CardinalDirectionStrategyContext(new EastDirection()); return(_cardinalDirectionStrategyContext.ContextInterface(turnPositionEnum)); case CardinalDirectionEnum.South: _cardinalDirectionStrategyContext = new CardinalDirectionStrategyContext(new SouthDirection()); return(_cardinalDirectionStrategyContext.ContextInterface(turnPositionEnum)); case CardinalDirectionEnum.West: _cardinalDirectionStrategyContext = new CardinalDirectionStrategyContext(new WestDirection()); return(_cardinalDirectionStrategyContext.ContextInterface(turnPositionEnum)); } return(nameof(cardinalDirection)); }
public abstract string SetDirection(TurnPositionEnum turnPosition);
public string ContextInterface(TurnPositionEnum turnPositionEnum) { return(_cardinalDirectionBaseStrategy.SetDirection(turnPositionEnum)); }