Chess Editor
Drag pieces to desired squares or edit Lambda. To remove, drag to trash.
Lambda
>
file(a) file(b) file(c) file(d) file(e) file(f) file(g) file(h) rank(1) rank(2) rank(3) rank(4) rank(5) rank(6) rank(7) rank(8) succ(1,2) succ(2,3) succ(3,4) succ(4,5) succ(5,6) succ(6,7) succ(7,8) succ(a,b) succ(b,c) succ(c,d) succ(d,e) succ(e,f) succ(f,g) succ(g,h) empty(M,N) :- file(M) & rank(N) & ~occupied(M,N) occupied(M,N) :- cell(M,N,R) adjacent(cell(X1,Y),cell(X2,Y)) :- succ(X1,X2) & rank(Y) adjacent(cell(X1,Y),cell(X2,Y)) :- succ(X2,X1) & rank(Y) adjacent(cell(X,Y1),cell(X,Y2)) :- succ(Y1,Y2) & file(X) adjacent(cell(X,Y1),cell(X,Y2)) :- succ(Y2,Y1) & file(X) adjacent(cell(X1,Y1),cell(X2,Y2)) :- succ(X1,X2) & succ(Y1,Y2) adjacent(cell(X1,Y1),cell(X2,Y2)) :- succ(X2,X1) & succ(Y1,Y2) adjacent(cell(X1,Y1),cell(X2,Y2)) :- succ(X1,X2) & succ(Y2,Y1) adjacent(cell(X1,Y1),cell(X2,Y2)) :- succ(X2,X1) & succ(Y2,Y1) innerhtml(cell(M,N),"
") :- cell(M,N,wk) innerhtml(cell(M,N),"
") :- cell(M,N,wq) innerhtml(cell(M,N),"
") :- cell(M,N,wb) innerhtml(cell(M,N),"
") :- cell(M,N,wn) innerhtml(cell(M,N),"
") :- cell(M,N,wr) innerhtml(cell(M,N),"
") :- cell(M,N,wp) innerhtml(cell(M,N),"
") :- cell(M,N,bk) innerhtml(cell(M,N),"
") :- cell(M,N,bq) innerhtml(cell(M,N),"
") :- cell(M,N,bb) innerhtml(cell(M,N),"
") :- cell(M,N,bn) innerhtml(cell(M,N),"
") :- cell(M,N,br) innerhtml(cell(M,N),"
") :- cell(M,N,bp) innerhtml(cell(M,N)," ") :- empty(M,N) style(cell(M,N),"cursor","pointer") :- cell(M,N,R) style(cell(M,N),"cursor","text") :- empty(M,N) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%% Actions %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% load :: false ==> true drag(base(P),cell(X,Y)) :: empty(X,Y) ==> cell(X,Y,P) drag(base(P),trash) :: false ==> true drag(cell(U,V),trash) :: cell(U,V,P) ==> ~cell(U,V,P) drag(cell(U,V),cell(X,Y)) :: cell(U,V,P) ==> ~cell(U,V,P) & cell(X,Y,P) drag(cell(U,V),cell(X,Y)) :: cell(X,Y,P) ==> ~cell(X,Y,P)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%% Lambda %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% cell(a,1,wr) cell(a,2,wp) cell(a,7,bp) cell(a,8,br) cell(b,1,wn) cell(b,2,wp) cell(b,7,bp) cell(b,8,bn) cell(c,1,wb) cell(c,2,wp) cell(c,7,bp) cell(c,8,bb) cell(d,1,wq) cell(d,2,wp) cell(d,7,bp) cell(d,8,bq) cell(e,1,wk) cell(e,2,wp) cell(e,7,bp) cell(e,8,bk) cell(f,1,wb) cell(f,2,wp) cell(f,7,bp) cell(f,8,bb) cell(g,1,wn) cell(g,2,wp) cell(g,7,bp) cell(g,8,bn) cell(h,1,wr) cell(h,2,wp) cell(h,7,bp) cell(h,8,br) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%% End of Rules %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%