fork download
  1. (defun mostrar-paso (anterior actual)
  2. (let ((ml (estado-ml anterior))
  3. (cl (estado-cl anterior))
  4. (mr (estado-mr anterior))
  5. (cr (estado-cr anterior))
  6. (side (estado-side anterior))
  7. ;; Datos del estado después del movimiento
  8. (ml2 (estado-ml actual))
  9. (cl2 (estado-cl actual))
  10. (mr2 (estado-mr actual))
  11. (cr2 (estado-cr actual))
  12. (side2 (estado-side actual)))
  13.  
  14. ;; Calculamos quiénes están en el bote
  15. (let* ((m-en-bote (abs (- ml ml2)))
  16. (c-en-bote (abs (- cl cl2)))
  17. (pasajeros (personas m-en-bote c-en-bote)))
  18.  
  19. (format t "~%--- Paso ~a ---~%" (length (estado-camino actual)))
  20.  
  21. ;; Representación ANTES de cruzar
  22. (format t "Inicio: ~a " (lado-a-string ml cl))
  23. (if (= side 0) (format t "B ~~~~~~ ") (format t "~~~~~~ B "))
  24. (format t "~a~%" (lado-a-string mr cr))
  25.  
  26. (format t ">>> Cruce: [~a]~%" pasajeros)
  27.  
  28. ;; Representación DESPUÉS de cruzar
  29. (format t "Final: ~a " (lado-a-string ml2 cl2))
  30. (if (= side2 0) (format t "B ~~~~~~ ") (format t "~~~~~~ B "))
  31. (format t "~a~%" (lado-a-string mr2 cr2)))))
Success #stdin #stdout 0.01s 27660KB
stdin
Standard input is empty
stdout
Standard output is empty