/poker-engine

Horizontally scalable, immutable, and thread-safe poker library written in Ruby.

Primary LanguageRubyMIT LicenseMIT

Poker Engine

Horizontally scalable, immutable, and thread-safe poker library written in Ruby, utilizing the Redux design pattern and Persistent data structures.

Example

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

Documentation

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.

Setup

  1. Make sure you have Ruby and bundler installed

  2. Clone the repo

git clone git@github.com:kanevk/poker-engine.git
  1. Install the dependencies
bundle
  1. Run tests
bundle exec rspec -fd