From ae68f3a8f022596db4c869f87c7110863f7be739 Mon Sep 17 00:00:00 2001 From: Aryadev Chavali Date: Fri, 14 Feb 2025 23:29:37 +0000 Subject: 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. --- src/main.lisp | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) (limited to 'src') diff --git a/src/main.lisp b/src/main.lisp index 8a0631d..f63326d 100644 --- a/src/main.lisp +++ b/src/main.lisp @@ -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)))) -- cgit v1.2.3-13-gbd6f