private bool MovingTwoRanksForwardFromStartingRank(Square origin, Square destination) { return (FromStartingRank(origin) && origin.ForwardTo(destination) && origin.DistanceOfRanksIsTwoTo(destination) && PathIsFree(origin, destination)); }
private bool MovingTwoRanksAndOneFile(Square origin, Square destination) { return (origin.DistanceOfRanksIsTwoTo(destination) && origin.DistanceOfFilesIsOneTo(destination)); }