;;;; MathSlap program written by Larry Heyl - Game developed by Carl Heyl ;;;; To win make an equation with the supplied numbers, in order, adding any symbols you want but one and only one equal sign. ;;;; This version uses a recursive loop instead of LOOP. ;;;; concise instructions (print "MathSlap") (print "Hit Enter for another number. q and Enter to quit.") (defparameter *line* "") (defparameter *out* "MathSlap ") (defparameter *random-state* 0) (setq *random-state* (make-random-state t)) ;;;; append string parameter with a random number 1 through 10 and a space (defun concat (o) (concatenate 'string o (write-to-string (+ (random 10) 1)) " ") ) (defun recloop (o) ;;;; append o with a random number 1 through 10 and a space (setq o (concat o)) (print o) ;;;; wait for input (setq *line* (read-line *standard-input*)) (if (string= *line* "q")(quit)) (recloop o) ) ;;;; Add numbers to output string. Comment one of these out to start with 2 numbers. (setq *out* (concat *out*)) (setq *out* (concat *out*)) ;;;; recursive loop (recloop *out*)