Crates.io | cardpack |
lib.rs | cardpack |
version | 0.5.2 |
source | src |
created_at | 2020-09-17 23:28:16.876253 |
updated_at | 2024-08-26 22:34:28.030466 |
description | Generic Deck of Cards |
homepage | https://github.com/ImperialBower/cardpack.rs |
repository | https://github.com/ImperialBower/cardpack.rs.git |
max_upload_size | |
id | 289946 |
size | 179,545 |
Generic pack of cards library written in Rust. The goals of the library include:
fn main() {
let pack = cardpack::Pack::french_deck();
let mut shuffled = pack.cards().shuffle();
let sb = shuffled.draw(2).unwrap();
let bb = shuffled.draw(2).unwrap();
println!("small blind: {}", sb.by_symbol_index());
println!("big blind: {}", bb.by_symbol_index());
println!();
println!("flop : {}", shuffled.draw(3).unwrap().by_symbol_index());
println!("turn : {}", shuffled.draw(1).unwrap().by_symbol_index());
println!("river: {}", shuffled.draw(1).unwrap().by_symbol_index());
}
The library has several demo programs in the examples directory.
For the traditional French Deck:
$> cargo run --example traditional
Long in English and German:
Ace of Spades
Ass von Spaten
King of Spades
König von Spaten
Queen of Spades
Dame von Spaten
...
Short Symbols in en-US: A♠ K♠ Q♠ J♠ 10♠ 9♠ 8♠ 7♠ 6♠ 5♠ 4♠ 3♠ 2♠ A♥ K♥ Q♥ J♥ 10♥ 9♥ 8♥ 7♥ 6♥ 5♥ 4♥ 3♥ 2♥ A♦ K♦ Q♦ J♦ 10♦ 9♦ 8♦ 7♦ 6♦ 5♦ 4♦ 3♦ 2♦ A♣ K♣ Q♣ J♣ 10♣ 9♣ 8♣ 7♣ 6♣ 5♣ 4♣ 3♣ 2♣
Short Symbols in de : A♠ K♠ D♠ B♠ 10♠ 9♠ 8♠ 7♠ 6♠ 5♠ 4♠ 3♠ 2♠ A♥ K♥ D♥ B♥ 10♥ 9♥ 8♥ 7♥ 6♥ 5♥ 4♥ 3♥ 2♥ A♦ K♦ D♦ B♦ 10♦ 9♦ 8♦ 7♦ 6♦ 5♦ 4♦ 3♦ 2♦ A♣ K♣ D♣ B♣ 10♣ 9♣ 8♣ 7♣ 6♣ 5♣ 4♣ 3♣ 2♣
Short Letters in en-US: AS KS QS JS 10S 9S 8S 7S 6S 5S 4S 3S 2S AH KH QH JH 10H 9H 8H 7H 6H 5H 4H 3H 2H AD KD QD JD 10D 9D 8D 7D 6D 5D 4D 3D 2D AC KC QC JC 10C 9C 8C 7C 6C 5C 4C 3C 2C
Short Letters in de : AS KS DS BS 10S 9S 8S 7S 6S 5S 4S 3S 2S AH KH DH BH 10H 9H 8H 7H 6H 5H 4H 3H 2H AD KD DD BD 10D 9D 8D 7D 6D 5D 4D 3D 2D AK KK DK BK 10K 9K 8K 7K 6K 5K 4K 3K 2K
Shuffle Deck: 8C 2H QC 9D 4S 10D 8D 6D 5H JS 5D KS 6C 9H 6H JC KC 3H 7C 3C 8H 7H 4H 5C 5S 4C AC 4D AH QH QS JD 9S 2S 3S 2C 10S JH 9C KH 10H 7D 10C KD 8S 6S 7S QD AD 2D 3D AS
Sort Deck: AS KS QS JS 10S 9S 8S 7S 6S 5S 4S 3S 2S AH KH QH JH 10H 9H 8H 7H 6H 5H 4H 3H 2H AD KD QD JD 10D 9D 8D 7D 6D 5D 4D 3D 2D AC KC QC JC 10C 9C 8C 7C 6C 5C 4C 3C 2C
Also included are example programs for spades
, pinochle
, skat
, canasta
,
euchre
, handandfoot
and tarot
as well as example poker
and bridge
hands.
The goal of this library is to be able to support the creation of card decks of various sizes and suits. Out of the box, the library supports:
The project takes advantage of Project Fluent's Rust support to offer internationalization. Current languages supported are English and German.