% 1 2 3 4 5 6 7 8 % 1 | | | | x | | | | | % 2 | | | | x | | | | | % 3 | | | | x | | | | | % 4 | | | | x | | | | | % 5 | x | x | x | R | x | x | x | x | % 6 | | | | x | | | | | % 7 | | | | x | | | | | % 8 | | | | x | | | | | rook(X1,Y1,X2,Y2) :- ((X2 is X1+1,Y2 is Y1); % right (X2 is X1-1,Y2 is Y1); % left (X2 is X1,Y2 is Y1+1); % up (X2 is X1,Y2 is Y1-1)),% down 1=