HandValue<L extends HandLevelInterface> class poker

All the information resulting from the evaluation of a poker hand.

This is used for comparing hands to determine a winner, and also for displaying the hand appropriately. Poker hands are typically evaluated into one of a small set of categories we call "levels" (e.g. Pair, Flush, Straight) and then within that category, the ranks of the cards are compared. All the numbers here are such that lower number means better hand.

Implementers

Constructors

HandValue(L level, List<Rank> ranks, int v)
Constructor for internal use
HandValue.best()

Properties

hashCode int
Overriding == requires overriding hashCode as well
no setteroverride
level → L
final
ranks List<Rank>
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
value int
final

Methods

fullName() → dynamic
Describe the Hand (we expect every implementor to override this).
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
orderedForDisplay(HandInterface h) OrphanHand
Re-order the Cards for value-appropriate display (e.g. the hand "5h3cAc3h3d" will display as "3h3d3cAc5h").
toString() String
Implementors will override this with something short for debugging.
override

Operators

operator ==(Object other) bool
Implement == for HandValue
override