%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).