3 releases
0.1.2 | Jul 20, 2021 |
---|---|
0.1.1 | Jul 19, 2021 |
0.1.0 | Jul 19, 2021 |
#228 in Simulation
14KB
276 lines
rust-cards
A simple library for simulating playing cards
Structure
A Card is a struct with 2 fields, elements of the enums Suit and Value. A Hand is a struct consisting of a Vec of Card
Suit ----↓
Card ----→ [Card Card Card Card Card] --→ Hand
Value ---↑
Examples
Creates a deck, shuffles it, and pops the top 5 cards onto a Hand
use rust_cards::cards::Card;
use rust_cards::hand::Hand;
fn main() {
let mut deck = Hand::full_deck();
deck = deck.shuffle();
//pops the top 5 cards off the deck and puts them in a hand
let top_five_cards = Hand::from(
vec![
deck.pop_top(),
deck.pop_top(),
deck.pop_top(),
deck.pop_top(),
deck.pop_top(),
]
);
for card in top_five_cards.vec {
println!("{}", card.string())
}
}
creates a hand consinsting of A♠, 2♥, 3♦, 4♣
use rust_cards::cards::Card;
use rust_cards::hand::Hand;
use rust_cards::cards::Suit;
use rust_cards::cards::Value;
fn main() {
let set_hand = Hand::from(
vec![
Card::new(Value::Ace, Suit::Spade),
Card::new(Value::Two, Suit::Heart),
Card::new(Value::Three, Suit::Diamond),
Card::new(Value::Four, Suit::Club)
]
);
for card in set_hand.vec {
println!("{}", card.string())
}
//A♠
//2♥
//3♦
//4♣
}
##License MIT or Apache-2.0
Dependencies
~310KB