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); }
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"); } }
protected DirectionDay12Enum GetDirectionAfterRotation(DirectionDay12Enum direction, int rotationValue) { rotationValue = ChangeRotationToPerpendicularTurns(rotationValue); rotationValue = ((int)direction + rotationValue) % 4; return((DirectionDay12Enum)rotationValue); }
public ShipDay12a() { PositionX = 0; PositionY = 0; facingDirection = DirectionDay12Enum.East; }
private void ExecuteRotationManeuver(int rotationValue) { facingDirection = GetDirectionAfterRotation(facingDirection, rotationValue); }