; merry christmas from pascal bourguinon (loop with height = 18 for i below height for w = (truncate (+ i (* (/ i 8) (sin (/ (* pi i) 2))))) for l = (format nil "~A~V{*~}~A" (if (zerop (random 5)) "i " " ") (* 2 w) '(()) (if (zerop (random 6)) " i" " ")) do (format t "~VA~A~%" (- (+ 2 height) (truncate (length l) 2)) "" l) finally (loop repeat 3 do (format t "~VA||||~%" height "")))