Gamemaster
General
Game
Playing
Protocol: tester
Player: minimaxdepth
Depth:
3
Game: multipletictactoesimple
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%% multipletictactoe %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%% metadata %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% role(x) role(o) base(cell(I,J,K,L,x)) :- index(I) & index(J) & index(K) & index(L) base(cell(I,J,K,L,o)) :- index(I) & index(J) & index(K) & index(L) base(cell(I,J,K,L,b)) :- index(I) & index(J) & index(K) & index(L) base(control(R)) :- role(R) action(mark(I,J,K,L)) :- index(I) & index(J) & index(K) & index(L) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%% init %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% init(cell(I,J,K,L,b)) :- index(I) & index(J) & index(K) & index(L) init(control(x)) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%% legal %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% legal(mark(2,2,1,1)) :- control(x) & cell(2,2,1,1,b) legal(mark(2,2,1,2)) :- control(x) & cell(2,2,1,2,b) legal(mark(2,2,1,3)) :- control(x) & cell(2,2,1,3,b) legal(mark(2,2,2,1)) :- control(x) & cell(2,2,2,1,b) legal(mark(2,2,2,2)) :- control(x) & cell(2,2,2,2,b) legal(mark(2,2,2,3)) :- control(x) & cell(2,2,2,3,b) legal(mark(2,2,3,1)) :- control(x) & cell(2,2,3,1,b) legal(mark(2,2,3,2)) :- control(x) & cell(2,2,3,2,b) legal(mark(2,2,3,3)) :- control(x) & cell(2,2,3,3,b) legal(mark(2,2,1,1)) :- control(o) & cell(2,2,1,1,b) legal(mark(2,2,1,2)) :- control(o) & cell(2,2,1,2,b) legal(mark(2,2,1,3)) :- control(o) & cell(2,2,1,3,b) legal(mark(2,2,2,1)) :- control(o) & cell(2,2,2,1,b) legal(mark(2,2,2,2)) :- control(o) & cell(2,2,2,2,b) legal(mark(2,2,2,3)) :- control(o) & cell(2,2,2,3,b) legal(mark(2,2,3,1)) :- control(o) & cell(2,2,3,1,b) legal(mark(2,2,3,2)) :- control(o) & cell(2,2,3,2,b) legal(mark(2,2,3,3)) :- control(o) & cell(2,2,3,3,b) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%% operations %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% mark(I,J,M,N) :: control(R) ==> cell(I,J,M,N,R) & ~cell(I,J,M,N,b) mark(I,J,M,N) :: control(x) ==> ~control(x) & control(o) mark(I,J,M,N) :: control(o) ==> ~control(o) & control(x) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%% goal %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% goal(x,100) :- line(x) & ~line(o) goal(x,50) :- line(x) & line(o) goal(x,50) :- ~line(x) & ~line(o) goal(x,0) :- ~line(x) & line(o) goal(o,100) :- ~line(x) & line(o) goal(o,50) :- line(x) & line(o) goal(o,50) :- ~line(x) & ~line(o) goal(o,0) :- line(x) & ~line(o) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%% terminal %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% terminal :- line(x) terminal :- line(o) terminal :- ~open %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%% Views %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% line(X) :- row(2,2,M,X) line(X) :- col(2,2,N,X) line(X) :- diag(2,2,X) row(I,J,M,X) :- cell(I,J,M,1,X) & cell(I,J,M,2,X) & cell(I,J,M,3,X) col(I,J,N,X) :- cell(I,J,1,N,X) & cell(I,J,2,N,X) & cell(I,J,3,N,X) diag(I,J,X) :- cell(I,J,1,1,X) & cell(I,J,2,2,X) & cell(I,J,3,3,X) diag(I,J,X) :- cell(I,J,1,3,X) & cell(I,J,2,2,X) & cell(I,J,3,1,X) open :- cell(I,J,M,N,b) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%% Data %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% index(1) index(2) index(3) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%