Rework cantedraw.main:start to run a read-redeal-print-loop

We've now got one of the major stages of the game down.

I think it's worth investing in some testing functions now - we've
reached just the level of complexity.
This commit is contained in:
2025-02-14 23:29:37 +00:00
parent d4e8f66c8b
commit ae68f3a8f0

View File

@@ -58,10 +58,6 @@
(setq inp (remove-duplicates (read-integers))))
inp))
(defun generate-hand ()
(->> (make-deck)
alexandria:shuffle
(split 5)))
(defun print-hand (hand)
(->> hand cardset->str (format t "Hand=[~a]~%")))
@@ -83,7 +79,12 @@
(defun start ()
(setf *random-state* (make-random-state t))
(destructuring-bind (hand . rest) (generate-hand)
(declare (ignore rest))
(->> hand cardset->str (format t "Hand=[~a]~%"))
(force-output)))
(destructuring-bind (final-hand . rest)
(->> (make-deck)
alexandria:shuffle
(read-redeal-print nil))
(format t "Cards remaining: {~a}
Final hand: [~a]"
(cardset->str rest)
(cardset->str final-hand))))