aboutsummaryrefslogtreecommitdiff
path: root/main.lisp
diff options
context:
space:
mode:
Diffstat (limited to 'main.lisp')
-rw-r--r--main.lisp67
1 files changed, 0 insertions, 67 deletions
diff --git a/main.lisp b/main.lisp
deleted file mode 100644
index 53d9bec..0000000
--- a/main.lisp
+++ /dev/null
@@ -1,67 +0,0 @@
-;;; main.lisp - 2025-02-11
-
-;; Copyright (C) 2025 Aryadev Chavali
-
-;; This program is distributed in the hope that it will be useful, but WITHOUT
-;; ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
-;; FOR A PARTICULAR PURPOSE. See the GNU General Public License Version 2 for
-;; details.
-
-;; You may distribute and modify this code under the terms of the GNU General
-;; Public License Version 2, which you should have received a copy of along with
-;; this program. If not, please go to <https://www.gnu.org/licenses/>.
-
-;;; Commentary:
-
-;; Defines the entrypoint of the program, handling any input from the user and
-;; passing it into the system.
-
-;;; Code:
-
-(in-package :cantedraw.main)
-
-(fn read-input (&optional (prompt "> ")) (-> (&optional string) string)
- (format t "~a" prompt)
- (force-output)
- (read-line))
-
-(fn parse-integers (input) (-> (string) list)
- (->> input
- uiop:split-string
- (mapcar #'parse-integer*)
- (remove-if #'null)))
-
-(fn read-integers () (-> nil list)
- (->> "Enter numbers: "
- read-input
- parse-integers))
-
-(fn read-until-integers () (-> nil list)
- (let ((inp (read-integers)))
- (while (null inp)
- (format t "Need at least one integer...~%")
- (force-output)
- (setq inp (read-integers)))
- inp))
-
-(fn is-valid-hand-index (n) (-> (fixnum) boolean)
- (and (< n 5)
- (>= n 0)))
-
-(fn read-until-valid-integers () (-> nil list)
- (let ((inp (remove-duplicates (read-integers))))
- (while (not (every #'is-valid-hand-index inp))
- (format t "Need at most 5 integers between 0 and 4...~%")
- (force-output)
- (setq inp (remove-duplicates (read-integers))))))
-
-(defun generate-hand ()
- (->> (make-deck)
- alexandria:shuffle
- (split 5)))
-
-(defun start ()
- (destructuring-bind (hand . rest) (generate-hand)
- (declare (ignore rest))
- (->> hand cardset->str (format t "Hand=[~a]~%"))
- (force-output)))