Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- (format t "LISP Nim~%~%")
- (defvar L '())
- ;; (setq tok 8)
- ;; (format t "We have ~D tokens initially.~%" tok)
- (defun random123 () ;; this returns a number 1,2,or 3
- (+ 1 (random 3))
- )
- (defun randomPile(L) ;;just returns a random index for any pile
- 1
- )
- (defun pickPile (L)
- ;index 0 can also be done (+ pilenum 1 ) would be needed in print later if thats the case
- (setq index 1)
- (loop for i from 0 to (length L)
- do (
- if ( = (nth index L) 0) (setq index (+ index 1))
- )
- )
- (format t "index is : ~D" index)
- index
- )
- ;;this to0k so long im so dumb
- (defun makePiles (N L X)
- (setq L (make-list X :initial-element N))
- (setq pileNum (pickPile L))
- (print L)
- (FRESH-LINE)
- (format t "(Pile number ~D)" pileNum)
- (FRESH-LINE)
- (setq curTokens (nth pileNum L))
- (format t "(Current number of tokens in pile ~D)" curTokens)
- (FRESH-LINE)
- (setq take (take123 curTokens))
- (format t "(Tokens taken from pile ~D)" take)
- (setf (nth pileNum L) (- (nth pileNum L) take))
- (FRESH-LINE)
- (print (nth pileNum L))
- (format t "(P~D ~D ~D)~S~%" playerNum pileNum take L)
- L
- )
- (defun take123 (tokens)
- ;; given # of tokens, return a number 1,2,3 or tokens
- (if (>= tokens (setq x (+ 1 (random 3))))
- x
- tokens
- )
- )
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement