blob: c09e3c2e3e81cb0a39bc135ae494d8e1a989da6c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
;;;; 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*)
|