3 个版本
0.1.2 | 2021 年 7 月 20 日 |
---|---|
0.1.1 | 2021 年 7 月 19 日 |
0.1.0 | 2021 年 7 月 19 日 |
#177 在 模拟 中
14KB
276 代码行
rust-cards
一个用于模拟玩牌的简单库
结构
一张牌是一个包含两个字段的 struct,即 Suit 和 Value 枚举的元素。一手牌是一个包含 Card Vec 的 struct
Suit ----↓
Card ----→ [Card Card Card Card Card] --→ Hand
Value ---↑
示例
创建一个牌组,对其进行洗牌,并将最上面的 5 张牌弹出放入一手牌中
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())
}
}
创建一手牌,包含 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♣
}
## 许可证 MIT 或 Apache-2.0
依赖项
~310KB