Exemplo n.º 1
0
        public override bool IsLegalMove(Square origin, Square destination)
        {
            if (origin.Color == destination.Color) return false;
            if (origin.AlongFileOrRank(destination)) return true;

            return origin.DiagonallyTo(destination);
        }
Exemplo n.º 2
0
        public override bool IsLegalMove(Square origin, Square destination)
        {
            if (origin.Color == destination.Color) return false;

            return (origin.AlongFileOrRank(destination) && PathIsFree(origin, destination));
        }