cl-poker-eval

2015-08-04

cl-poker-eval

Pure common lisp 7 card poker hand evaluation. Evaluation based on pokersource.

Loadable via quicklisp.

* (ql:quickload "cl-poker-eval")

cl-poker-eval uses the following enumeration for card values:

2c-Ac = 0-12  
2d-Ad = 13-25  
2h-Ah = 26-38  
2s-As = 39-51  

You can use eval-hand-var to evaluate hands with 5 to 7 cards, or eval-hand-7 to evaluate a 7 card hand only. For example, to get the value of 7 cards in a list you could do the following:

(defvar *hand* '(1 2 3 4 5 6 7)) ;this would be the hand 3c 4c 5c 6c 7c 8c 9c  
(apply #'cl-poker-eval:eval-hand-var *hand*)  

You could also call eval-hand-* functions with the cards values you want to evaluate, like so:

(cl-poker-eval:eval-hand-7 1 2 3 4 5 6 7)  
(cl-poker-eval:eval-hand-var 3 4 5 6 7)  

Values returned by eval-hand-* integers representing the strength of a hand. High values are stronger hands.

Author
Jason Person
License
BSD