private bool MovingSingleRankForward(Square origin, Square destination) { return (origin.ForwardTo(destination) && origin.DistanceOfRanksIsOneTo(destination) && destination.Color == PieceColor.Empty); }
private bool MovingTwoRanksForwardFromStartingRank(Square origin, Square destination) { return (FromStartingRank(origin) && origin.ForwardTo(destination) && origin.DistanceOfRanksIsTwoTo(destination) && PathIsFree(origin, destination)); }