16 Commits

Author SHA1 Message Date
Aryadev Chavali
cd6ac8930d Overhaul
Loads of changes, some which I wasn't sure what I was on when doing
them
2025-07-10 00:08:23 +01:00
Aryadev Chavali
93790fad88 Move all test code into one file. 2025-03-02 01:17:56 +00:00
Aryadev Chavali
4bb9173a4a Make empty unit test suite for model package 2025-02-21 14:20:34 +00:00
Aryadev Chavali
2538077638 Setup an empty unit test suite for lib.functions
I've added a dependency so if lib.macros isn't working, we can skip
all the tests in lib.functions.  Therefore we can use lib.macros in
the test code.
2025-02-21 14:11:08 +00:00
Aryadev Chavali
dc1f3d8970 Create a unit test system
Setup cantedraw/tests with a test-system record, as well as linking it
back to cantedraw so we can run test-system on cantedraw and run the
tests.

Using parachute, we can setup a suite of unit tests for each package.
For each package in src/ or lib/ we'll write a separate unit test
suite with tests for all the public exposing functionality.

I've setup a main suite in cantedraw/tests/main which will depend on
each of the unit test suites so we can run the tests all at once.

Currently we have one test for the --> macro.
2025-02-21 13:53:33 +00:00
Aryadev Chavali
87554dcc3a Added :author and :license to system definition 2025-02-15 20:42:23 +00:00
Aryadev Chavali
143e8e03fa Disable image compression for binary. 2025-02-15 16:22:35 +00:00
Aryadev Chavali
4ded442dd4 Player handler package
This package defines a player data structure, collections of players,
and different interactions you can have with them:
- Extracting attributes (destructors)
- Checking if they're bankrupt or can bet
- Modifying a collection to adjust the balance of any one
  player (including errors in case that isn't possible)
2025-02-15 15:37:16 +00:00
Aryadev Chavali
77d344a42f Implement a package for some game mechanics
Currently can deal some hands and redeal some cards.
2025-02-14 23:23:32 +00:00
Aryadev Chavali
334ece1ee7 Split source code into different modules for cleanliness 2025-02-14 21:46:43 +00:00
Aryadev Chavali
f0e7c9f3f0 WIP: Making a simple re-deal program.
Gives a hand from a shuffled deck to the user, asks them to provide
indices for cards they wish to re-deal then does so.
2025-02-14 20:53:44 +00:00
Aryadev Chavali
f4b43031ad Add a package for modelling cards
Time to do the fun non-yakshaving part.  I'll start out by writing
some custom types for the objects of concern: ranks, suits, cards and
sets of cards.
2025-02-14 17:17:43 +00:00
Aryadev Chavali
02ff1a3fb3 Prefix all packages with cantedraw
This is mostly a sanity check in-case anyone else decides to load this
system for use in their own package - don't want to conflict with
their names.
2025-02-14 16:11:54 +00:00
Aryadev Chavali
4c27e7d5c1 cantedraw.lisp -> main.lisp 2025-02-14 16:00:41 +00:00
Aryadev Chavali
a1a9ae008a Remove dependency on deploy - use ASDF's program-op instead 2025-02-14 15:10:39 +00:00
Aryadev Chavali
90ef834393 odraw -> cantedraw
Why name it something unique when this is what I'm going to be making
at the end of it all?  Just makes it more confusing for the end user.
2025-02-11 00:54:01 +00:00