(defun number-gamand (number-game-main) ( if (repeat-again "Try Again?") (number-game) ) )) (defun repeat-again (message) (and (print message) (princ "Yes - 0, No - other :" ) (equal (read) 0 ) )) (defun number-game-main () (number-game-loop 1 (+ 1 (random 100)) ) ) (defun number-game-loop ( n q ) (and (prin1 n) (princ "'th try (1-100) : " ) (number-game-check n q (read)) )) (defun number-game-check ( n q a ) ( if (= q a ) (print "Hit") ( and ( if (< q a) (print "Big") (print "Small" ) ) ( number-game-loop (+ n 1) q ) )))