From a80b64b045fec86b8475cc11c3d21c2548d1ff5f Mon Sep 17 00:00:00 2001 From: Aryadev Chavali Date: Sat, 22 Feb 2025 23:00:17 +0000 Subject: Make card a structure Card is a structure instead of just a type. Stronger type checking, automatic constructor, destructors and existence check. --- packages.lisp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'packages.lisp') 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) -- cgit v1.2.3-13-gbd6f