Holdem - a modest poker library written in C
Holdem is a modest poker library for use in poker programs.
It provides a simple interface for:
* card / string representation conversions
* hand evaluation (find best hand given a set of cards)
* hand comparisons
* managing a "table" of players
* etc.
There is no direct dependency on any particular GUI or networking
libraries. You as the developer provide callback functions that are
invoked when Holdem needs information from a player, or when an important
game event occurs. For instance, if you were developing a multiplayer poker
game for use over the Internet, you might send a network message to the
player who is next to act in a particular game when your code is called
back by Holdem.
Testing
Holdem comes with a set of unit tests to ensure nothing breaks
as features are added or changed.
Want to help? Great!
While Holdem itself is just a simple library, we are in fact
looking to create several different user interfaces.
Some project ideas would be to create a GUI-based peer-to-peer poker game
for small network of friends; e.g. your weekly poker game using SDL for
graphics or some-such.
Another idea would be to create a console UI using UTF-8 codepoints for the
hearts symbol, etc.
Also, we are interested in bindings for Python and Ruby in the future.
Libraries in Holdem
libpokerhands
* Hand evaluation
* Card / string representation conversions
* Hand comparisons
libpokergame
* Managing a table of players
* Callbacks to your code for events, prompts, messages, etc.
* Managing a blinds schedule
* Managing a tournament
* etc.
Dependencies
We use CMake for managing builds.
Suggestions?
brian+holdem at brianhammond dot com
project page