Releases: Nydauron/playing-cards
Releases · Nydauron/playing-cards
0.1.3
What's Changed
- More resilient conversions from strings by @pashadia in #6
- Adds MSRV to crate metadata (the MSRV of prior releases is also
1.62
) - Adds
Card::is_face_card()
andValue::is_face_card()
methods - Fixes a bug regarding correctly counting the remaining number of cards left when dealing cards when including the muck
- Various documentation clarifications
- Applies multiple clippy fixes
New Contributors
Full Changelog: 0.1.2...0.1.3
0.1.2
What's Changed
- Added
CardDeckError
enum - Deprecated
CardDeck::get_seed()
Full Changelog: 0.1.1...0.1.2
0.1.1
0.1.0
Breaking changes
- Core
- Removed
Card::from_int()
in favor fornum_trait::FromPrimitive
derivations CardDeck
CardDeck::new()
now takes in an optional seed and creates an unshuffled deck if no seed is provided- Removed
CardDeck::new_with_seed()
CardDeck
now uses theXoshiro256PlusPlus
PRNG accompanied with a 256-bit seed- Seeds returned by
get_seed()
will be[u8; 32]
instead ofu64
- Seeds returned by
CardDeck::reshuffle()
takes in an optional 256-bit seed
- Removed
- Poker
- Removed
Evaluator
trait - Evaluators are now standalone functions packaged within modules within the
poker::evaluators
module - Changed evaluator functions to return back rank types instead of
u64
- Removed
Features added
- Core
- Added
Value::get_cactus_kev_prime()
Value
now derivesHash
,Eq
,PartialOrd
, andOrd
Suit
now derivesHash
andEq
Card
can now be serialized and deserialized withserde
- Added
Card::calculate_bit_pattern()
CardDeck
- Added
CardDeck::new_custom_deck()
- Added
CardDeck::shuffle()
- Added
CardDeck::strip_cards()
- Added
CardDeck::strip_ranks()
- Added
CardDeck:strip::suits()
- Added
- Added
- Poker
- Evaluators
- Added 2-to-7 Low
- Added Badugi
- Added Dramaha High
- Added Omaha High
- Added Omaha Hi-Lo
- Added
EvaluatorErrors
- Added rank types
- Added
BasicRank
- Added
HighRank
- Added
Low27Rank
- Added
LowA5Rank
- Added
BadugiRank
- Added
DramahaHighRank
- Added
OmahaHiLoRank
- Added
- Added
RankResults<T>
- Added
RankStrengthIterator
- Added
IntoRankStrengthIterator
trait - Added
generate_winner_list<T, U>()
- Evaluators
Implementation changes
- Removed
Into<char>
forValue
andSuit
in favor of using theFrom
trait CardDeck::deal_cards()
andCardDeck::draw_cards()
are now more atomic; if there are not enough cards present to deal/draw, then no cards are returned- Changed underlying Poker evaluator from 2+2 evaluator to Cactus-Kev Perfect Hash