;; variables (set 'max-columns +12) ;; functions (defun random-number (cases) (fill ((diff cases +0) (cons (random +9) ())) (f (cons (random +9) (random-number (- cases +1)))))) (defun number-to-symbol (num) (fill ((diff +0 num) '0) ((diff +1 num) '1) ((diff +2 num) '2) ((diff +3 num) '3) ((diff +4 num) '4) ((diff +5 num) '5) ((diff +6 num) '6) ((diff +7 num) '7) ((diff +8 num) '8) ((diff +9 num) '9))) (defun number-to-earth-rod (num) (fill ((diff +0 num) "[@-@][@@@@-@]") ((diff +1 num) "[@-@][@@@-@@]") ((diff +2 num) "[@-@][@@-@@@]") ((diff +3 num) "[@-@][@-@@@@]") ((diff +4 num) "[@-@][-@@@@@]") ((diff +5 num) "[-@@][@@@@-@]") ((diff +6 num) "[-@@][@@@-@@]") ((diff +7 num) "[-@@][@@-@@@]") ((diff +8 num) "[-@@][@-@@@@]") ((diff +9 num) "[-@@][-@@@@@]"))) (defun number-to-air-rod (num) (fill ((diff +0 num) "[@-@@@@][@-@]") ((diff +1 num) "[@@-@@@][@-@]") ((diff +2 num) "[@@@-@@][@-@]") ((diff +3 num) "[@@@@-@][@-@]") ((diff +4 num) "[@@@@@-][@-@]") ((diff +5 num) "[@-@@@@][@@-]") ((diff +6 num) "[@@-@@@][@@-]") ((diff +7 num) "[@@@-@@][@@-]") ((diff +8 num) "[@@@@-@][@@-]") ((diff +9 num) "[@@@@@-][@@-]"))) ;; main (defun main () (progs f (set 'n-rand (random-number (random max-columns))) (map (lambda (num) (princ (number-to-air-rod num)) (newline)) n-rand) (read) (print (map number-to-symbol n-rand)) ;; (print n-rand) (newline) (read) (newline) (read))) ;; loop (defun loop () (fill ((main) ()) (f (loop)))) (loop)