diff options
author | Aryadev Chavali <aryadev@aryadevchavali.com> | 2025-02-22 23:00:17 +0000 |
---|---|---|
committer | Aryadev Chavali <aryadev@aryadevchavali.com> | 2025-02-22 23:00:17 +0000 |
commit | a80b64b045fec86b8475cc11c3d21c2548d1ff5f (patch) | |
tree | d9de7816cca8a5f1ea4c42d36e7bdec44ec63e1d /packages.lisp | |
parent | 62f92114ee2d69bfb46084cc960a5c182f32df94 (diff) | |
download | cantedraw-a80b64b045fec86b8475cc11c3d21c2548d1ff5f.tar.gz cantedraw-a80b64b045fec86b8475cc11c3d21c2548d1ff5f.tar.bz2 cantedraw-a80b64b045fec86b8475cc11c3d21c2548d1ff5f.zip |
Make card a structure
Card is a structure instead of just a type. Stronger type checking,
automatic constructor, destructors and existence check.
Diffstat (limited to 'packages.lisp')
-rw-r--r-- | packages.lisp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/packages.lisp b/packages.lisp index 2f693fd..a6db383 100644 --- a/packages.lisp +++ b/packages.lisp @@ -40,16 +40,18 @@ (:use :cl :5d-lib.macros :5d-lib.functions) (:export ;; Types - :int-card :rank :suit :card :cardset + :int-card :rank :suit :cardset + ;; card struct + :card :make-card :card-suit :card-rank :card-p ;; Converters :int->suit :int->rank :int->card :suit->int :rank->int :card->int ;; Comparators :suit< :rank< :card< ;; Serialisers - :suit->str :rank->str :card->str :cardset->str + :suit->str :rank->str :cardset->str ;; Constructors - :make-joker :make-deck)) + :make-deck)) (defpackage cantedraw.player (:nicknames :5d.player) |