public Point Part1Execute(ShipDirection.Direction currentDirection) { var movement = new Point(); switch (currentDirection) { case ShipDirection.Direction.North: movement.X = 0; movement.Y = Value; break; case ShipDirection.Direction.East: movement.X = Value; movement.Y = 0; break; case ShipDirection.Direction.South: movement.X = 0; movement.Y = -Value; break; case ShipDirection.Direction.West: movement.X = -Value; movement.Y = 0; break; } return(movement); }
public ShipDirection.Direction Part1Execute(ShipDirection.Direction currentDirection) { int currentEnumValue = (int)currentDirection; int rotationValue = Value / 90; int newEnumValue = (currentEnumValue - rotationValue + 4) % 4; return((ShipDirection.Direction)newEnumValue); }