Usando el siguiente código consigo obtener el resultado final, pero no los intermedios, los cuales me gustaria ver.
Código
(defun mover-disco (origen destino estado) (let ((disco (primero-estado-torre estado origen)) (estadoaux (eliminar-disco-torre estado origen))) (aniadir-disco-torre estadoaux destino disco))) (defun mover-torre (num origen estadoaux destino estado) (if (= num 1) (mover-disco origen destino estado) (mover-torre (- num 1) estadoaux origen destino (mover-disco origen destino (mover-torre (- num 1) origen destino estadoaux estado)))))
Tendría que modificar la funcion mover-disco para que cada vez que se invoque saque por pantalla "estado" que es una lista de listas.
A ver si me podeis sugerir alguna solucion
Gracias y un saludo