big-c: organise and setup tasks

This commit is contained in:
2026-04-05 04:52:17 +01:00
parent 9706a39152
commit fbbabc1ce7

View File

@@ -1,9 +1,16 @@
* TODO Implement player and game structure #+filetags: big-c
* TODO Refactor Cards :refactor_cards:
It's really bloated - should probably be a subcrate.
** TODO Make subcrate
** TODO Testing
* Backlog :backlog:
** TODO Implement player and game structure
A game should have a table of players, a deck of unplayed cards, a A game should have a table of players, a deck of unplayed cards, a
deck of played cards, and some metadata for the current round. The deck of played cards, and some metadata for the current round. The
table of players should associate each player with a unique ID. It table of players should associate each player with a unique ID. It
should also track the cards in each players hand. should also track the cards in each players hand.
* TODO Implement playing system ** TODO Implement playing system
Once an order has been picked, the first player becomes the "round Once an order has been picked, the first player becomes the "round
chooser". Game play goes like so: chooser". Game play goes like so:
1) Round chooser plays a hand of any round type they wish, which 1) Round chooser plays a hand of any round type they wish, which
@@ -16,16 +23,16 @@ chooser". Game play goes like so:
wins wins
- All but one player skips, in which case that player becomes the - All but one player skips, in which case that player becomes the
round chooser. Go to (1). round chooser. Go to (1).
** TODO Classify round types *** TODO Classify round types
Each round type has a definition of what a valid "hand" is, and how Each round type has a definition of what a valid "hand" is, and how
ranking works in it. So it's important to clarify this before ranking works in it. So it's important to clarify this before
anything else. anything else.
*** TODO Classify hand sizes **** TODO Classify hand sizes
- 1: singles - 1: singles
- 2: pairs - 2: pairs
- 3: triples - 3: triples
- 5: poker hands - 5: poker hands
*** TODO Classify hand ranking **** TODO Classify hand ranking
Hand ranking only applies for hands of the same round type - you Hand ranking only applies for hands of the same round type - you
wouldn't compare a pair to a straight. wouldn't compare a pair to a straight.
@@ -51,7 +58,7 @@ wouldn't compare a pair to a straight.
- Four kind/Five Kind: At least one of the four/five kind must - Four kind/Five Kind: At least one of the four/five kind must
have a higher rank (4D < 4S). have a higher rank (4D < 4S).
- Straight Flush: Same rules as Flush/Straight. - Straight Flush: Same rules as Flush/Straight.
** TODO Jokers *** TODO Jokers
Jokers act as filler cards to allow certain hands. In classification, Jokers act as filler cards to allow certain hands. In classification,
the strongest hand possible is assumed based on the cards available - the strongest hand possible is assumed based on the cards available -
players have no influence on how their hand is classified (i.e. [4D, players have no influence on how their hand is classified (i.e. [4D,
@@ -69,7 +76,7 @@ ordering. Their use in play is dependent on the round type:
- 3 jokers: five of a kind if other two cards are a pair, otherwise - 3 jokers: five of a kind if other two cards are a pair, otherwise
four of a kind against the highest ranked card. four of a kind against the highest ranked card.
- 1/2 jokers: much more dependent on the other cards present. - 1/2 jokers: much more dependent on the other cards present.
** TODO Footstools *** TODO Footstools
Footstools are a core mechanic of Big-C. The basic idea is this: if Footstools are a core mechanic of Big-C. The basic idea is this: if
your hand is 1 step higher or /exactly/ the same as the previous hand, your hand is 1 step higher or /exactly/ the same as the previous hand,
the previous player is penalised for it. It is called a footstool the previous player is penalised for it. It is called a footstool
@@ -108,7 +115,7 @@ all that matters in any half-footstool, the joker can never influence
this. Also note that a hand can only be played if it's better than this. Also note that a hand can only be played if it's better than
the previous one, so that should exclude a bunch of hands from being the previous one, so that should exclude a bunch of hands from being
footstool-ing. footstool-ing.
* TODO Implement order of play ** TODO Implement order of play
There is a minigame required to determine order of play in big-c. The There is a minigame required to determine order of play in big-c. The
actual routine is a bit complex to go over, given the possible scale actual routine is a bit complex to go over, given the possible scale
of the game: of the game:
@@ -125,11 +132,11 @@ of the game:
What makes this interesting is that players get to CHOOSE what cards What makes this interesting is that players get to CHOOSE what cards
they present. All sorts of mind games can be played here. they present. All sorts of mind games can be played here.
* TODO Write a basic CLI version ** TODO Write a basic CLI version
MVP goals: MVP goals:
- 2 player - 2 player
- Each player takes turns playing the game (ensure we add a stage to - Each player takes turns playing the game (ensure we add a stage to
allow handover, clearing screen before and after) allow handover, clearing screen before and after)
- Ensure hands are valid, and when a round is won play is passed over - Ensure hands are valid, and when a round is won play is passed over
appropriately appropriately
* TODO Write webserver ** TODO Write webserver