% | 1 | 2 | 3 | % | 4 | 5 | 6 | % | 7 | 8 | 9 | queen(1,2). queen(1,4). queen(1,5). queen(2,3). queen(2,4). queen(2,5). queen(2,6). queen(3,5). queen(3,6). queen(4,5). queen(4,7). queen(4,8). queen(5,6). queen(5,7). queen(5,8). queen(5,9). queen(6,8). queen(6,9). queen(7,8). queen(8,9). queenbi(X,Y):-queen(X,Y); queen(Y,X). move_user(X,Y) :- retractall(visited(Z)), asserta(visited(X)), asserta(visited(Y)), move(X,Y). move(X,Y) :- queenbi(X,Y). move(X,Y) :- queenbi(X,Z), not(visited(Z)), asserta(visited(Z)), print(Z),nl, move(Z,Y).