aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2025-02-15Rework `$` operator to take a capture variableAryadev Chavali
In case operators require use of a variable, we should let the caller provide the symbol so we don't fall into weird package issues.
2025-02-14Implement read-and-confirm for extra step before re-dealAryadev Chavali
Found that I sometimes did a misinput which lead to losing a critical card - implemented a function which asks for confirmation (with a print out of the cards that will be redealt) before doing the redeal.
2025-02-14Rework cantedraw.main:start to run a read-redeal-print-loopAryadev Chavali
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.
2025-02-14Implement a read -> redeal -> print loopAryadev Chavali
Like REPL stands for Read -> Evaluate -> Print -> Loop, here we implement a similar loop which reads a set of indices for cards to remove from the user, redeals those cards then loops back. This keeps happening until either: - the user does not want to redeal (empty input) - there aren't enough cards for a redeal
2025-02-14Fix problem with alexandria:shuffle not being truly randomAryadev Chavali
Due to the way random works, we need to see it on each run of the binary - thus need to make a new random state.
2025-02-14Rework read-until-valid-integers to work better for redeal inputsAryadev Chavali
A player may: - not redeal any cards - redeal all their cards Therefore the indices must be between 0,5 and there can be at most 5 inputs.
2025-02-14Rework card< comparator to make Jokers the top of the hierarchyAryadev Chavali
2025-02-14Implement a package for some game mechanicsAryadev Chavali
Currently can deal some hands and redeal some cards.
2025-02-14Split source code into different modules for cleanlinessAryadev Chavali