Horizontally scalable, immutable, and thread-safe poker library written in Ruby, utilizing the Redux design pattern and Persistent data structures.
There is a simple console interface that you can run ./examples/simple-gameplay.rb
and play against yourself!
Valid moves:
- check
- fold
- call
- raise [bet amount], example: raise 100
You can think about the PokerEngine::Game
like for a state machine. You can initiate it with .start
and you can transition from one state in another with .next
.
For more info check you can check the console example or the integration spec.
-
Make sure you have Ruby and bundler installed
-
Clone the repo
git clone git@github.com:kanevk/poker-engine.git
- Install the dependencies
bundle
- Run tests
bundle exec rspec -fd