A simple library for simulating playing cards
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 ---↑
Creates a deck, shuffles it, and pops the top 5 cards onto a Hand ```rust use rustcards::cards::Card; use rustcards::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♣ ```rust use rustcards::cards::Card; use rustcards::hand::Hand; use rustcards::cards::Suit; use rustcards::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♣
} ```
MIT or Apache-2.0