/* put11(Board,Board1) puts black at (1,1) */ board(board( col(_,_,_,_), col(_,_,_,_), col(_,_,_,_), col(_,_,_,_)). put11(Board,Board1):- putnm(Board,1,1,black,Board1). putnm(Board,N,M,Color,Board1):- % makes Board1 as new term with 'Color' put at (N,M) arg(N,Board,Line), replace_arg(Line,M,Color,Line1), replace_arg(Board,N,Line1,Board1). replace_arg(T,I,A,T1):- functor(T,N,F), functor(T1,N,F), replace_arg(N,I,A,T,T1). replace_arg(I,I,A,T,T1):-!, arg(I,T1,A). replace_arg(I,_,_,T,T1):- arg(I,T,A), arg(I,T1,A).