CLI Uno card game written in Rust.
- Playable base game
- Against local human players
- Against machines
- Dumb ones
- Smart ones
- Against network human players remote possibility
- Customizable game rules
- Cards with effects
- Skip
- Flip direction
- +2
- +4
- Change color
- Nice cards (see images)
- Tests (back to square one at this)
- Session
- Players
- Player queues
- Cards
- Card pickers
- Color pickers
- Decks
- Shuffling
- Rules
- Code-level documentation
As of this commit, invalid Card
s can be constructed.
The current implementation requires that a card has a face, and an optional color. Simple, yet wrong, as many colored cards can be constructed without one. I am to find a good middle point between simple and correct - already had some ideas, and even if they fix the invalid state issue, they require some duplication.
Next steps are to come up with a good type-level solution for the cards, and write some tests.