All Projects → elliottneilclark → rs-poker

elliottneilclark / rs-poker

Licence: Apache-2.0 license
No description or website provided.

Programming Languages

rust
11053 projects

Projects that are alternatives of or similar to rs-poker

texas-poker-engine
Dummy Texas Poker Engine open source edition
Stars: ✭ 4 (-87.5%)
Mutual labels:  poker, holdem
poker-calculator
Poker calculator for Texas Hold’em
Stars: ✭ 22 (-31.25%)
Mutual labels:  poker, holdem
Cards.jl
A package for representing hands of cards (quite compactly)
Stars: ✭ 41 (+28.13%)
Mutual labels:  poker, cards
scrum-planning-poker
Please feel FREE to try it and give feedback by searching Scrum敏捷估算 in WeChat mini program.
Stars: ✭ 30 (-6.25%)
Mutual labels:  poker
crates-io-cn
Source code of crates-io.cn, also tools sets for sync crates.io
Stars: ✭ 20 (-37.5%)
Mutual labels:  crates
cargo-esr
Extended Search & Ranking tool for crates.
Stars: ✭ 23 (-28.12%)
Mutual labels:  crates
tokio-tun
Asynchronous allocation of TUN/TAP devices in Rust using tokio
Stars: ✭ 17 (-46.87%)
Mutual labels:  crates
cards
A deck of cards enumerating simple rules to design all new digital products at MAIF
Stars: ✭ 48 (+50%)
Mutual labels:  cards
cypherpoker.js
An open source peer-to-peer poker platform with cryptocurrency integration written in JavaScript.
Stars: ✭ 72 (+125%)
Mutual labels:  poker
41poker
a toolset for Texas Hold'em Poker
Stars: ✭ 13 (-59.37%)
Mutual labels:  poker
pokerwars.io-starterbot-python
A starter bot written in python for the pokerwars.io platform. To play: pull this code, register on pokerwars.io, get your API token and play!
Stars: ✭ 37 (+15.63%)
Mutual labels:  poker
minreq
Simple, minimal-dependency HTTP client.
Stars: ✭ 91 (+184.38%)
Mutual labels:  crates
solvethestreet
Hand Analysis Tool for GTO No-limit Texas Hold'em
Stars: ✭ 29 (-9.37%)
Mutual labels:  poker-hands
sway-alttab
Simple Alt-Tab daemon for SwayWM/i3. Switches back to previous focused window on Alt-Tab or SIGUSR1
Stars: ✭ 36 (+12.5%)
Mutual labels:  crates
crate-trends
🦀Visualize Rust Package: Crates comparison website
Stars: ✭ 14 (-56.25%)
Mutual labels:  crates
steganography
A simple steganography library written in rust
Stars: ✭ 75 (+134.38%)
Mutual labels:  crates
inkscape-extension-playing-cards
An Inkscape extension that creates templates for playing cards
Stars: ✭ 25 (-21.87%)
Mutual labels:  cards
react-native-card-list
A React Native component which displays a list of image cards that zoom to fullscreen
Stars: ✭ 19 (-40.62%)
Mutual labels:  cards
cargo-trim
Binary application to clean up .cargo/registry & .cargo/git cache
Stars: ✭ 15 (-53.12%)
Mutual labels:  crates
salak.rs
A multi layered configuration loader and zero-boilerplate configuration parser.
Stars: ✭ 27 (-15.62%)
Mutual labels:  crates

rs-poker

Crates.io

RS Poker is a rust library aimed at being a good starting place for lots of poker rust code. Correctness and performance are the two main goals.

Documentation is uploaded here The crates.io page is here

Core

The Core module contains code that is not specific to different types of poker games. It contains:

  • Suit type
  • Value type
  • Card type
  • Deck
  • Hand iteration
  • Poker hand rank type
  • Poker hand evaluation for five card hands.
  • Poker hand evaluation for seven card hands.

The poker hand (5 card) evaluation will rank a hand in ~20 nanoseconds per hand. That means that 50 Million hands per second can be ranked. The seven card hand evaluation will rank a hand in < 25 ns.

The hand evaluation is is fully accurate, it does not rely on just single kicker. This allows for breaking ties on hands that are closer.

Holdem

The holdem module contains code that is specific to holdem. It currently contains:

  • Starting hand enumeration
  • Hand range parsing
  • Monte Carlo game simulation helpers.

Testing

The code is pretty well tested and benchmarked. If you find something that looks like a bug please submit a pr with test code.

5 Card + Hand iteration has been used in conjunction with fuzzing to validate the seven card hand evaluation.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].