Example #1
0
        public void Should_MoveIntoDirection(DirectionDay12Enum direction, int value, int expectedX, int expectedY)
        {
            var movable = new MovableObjectDay12();

            movable.MoveIntoDirection(direction, value);
            Assert.Equal(expectedX, movable.PositionX);
            Assert.Equal(expectedY, movable.PositionY);
        }
Example #2
0
        public void MoveIntoDirection(DirectionDay12Enum direction, int actionValue)
        {
            switch (direction)
            {
            case DirectionDay12Enum.West:
                PositionY -= actionValue;
                break;

            case DirectionDay12Enum.South:
                PositionX -= actionValue;
                break;

            case DirectionDay12Enum.East:
                PositionY += actionValue;
                break;

            case DirectionDay12Enum.North:
                PositionX += actionValue;
                break;

            default:
                throw new Exception("Unknown Command");
            }
        }
Example #3
0
 protected DirectionDay12Enum GetDirectionAfterRotation(DirectionDay12Enum direction, int rotationValue)
 {
     rotationValue = ChangeRotationToPerpendicularTurns(rotationValue);
     rotationValue = ((int)direction + rotationValue) % 4;
     return((DirectionDay12Enum)rotationValue);
 }
Example #4
0
 public ShipDay12a()
 {
     PositionX       = 0;
     PositionY       = 0;
     facingDirection = DirectionDay12Enum.East;
 }
Example #5
0
 private void ExecuteRotationManeuver(int rotationValue)
 {
     facingDirection = GetDirectionAfterRotation(facingDirection, rotationValue);
 }