zpm_sonia.pro



%Sonia Tonatzi Morales Pintor
%combinacion_valida(X) X es una combinacion valida
combinacion_valida([zorro,maiz]).
combinacion_valida([maiz,zorro]).
combinacion_valida([zorro]).
combinacion_valida([pollo]).
combinacion_valida([maiz]).
combinacion_valida(zorro).
combinacion_valida(pollo).
combinacion_valida(maiz).
combinacion_valida([]).
%
orilla_der([H|T],T,Respuesta,Res):- 
	combinacion_valida(T),
	sformat(Salida,'Mover ~w a la orilla derecha ----->',H),
	write(Salida),write('\n'),
	append(Respuesta,[H],Res).
	
orilla_izq([H|T],T,Respuesta,Res):- 
	sformat(Salida,'Mover ~w a la orilla izquierda <-----',H),
	write(Salida),write('\n'),
	append(Respuesta,[H],Res).
		
mueve([],_):-!.

mueve([H|T],Respuesta):-			
		combinacion_valida(T),
		combinacion_valida(Respuesta),
		orilla_der([H|T],Der,Respuesta,Res),
		mueve(Der,Res).

mueve([H|T],Respuesta):-
		%write('<<<<<\n'),
		%write(Respuesta),nl,
		combinacion_valida(Respuesta),
		append(T,[H],Derecha),
		mueve(Derecha,Respuesta). 

mueve(Lista,Respuesta):-
		%combinacion_valida(Respuesta),
 		%write('>>>>>\n'),
		orilla_izq(Respuesta,Izq,Lista,Res),
		mueve(Res,Izq).