3 个版本

0.1.2 2021 年 7 月 20 日
0.1.1 2021 年 7 月 19 日
0.1.0 2021 年 7 月 19 日

#177模拟

MIT/Apache

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♣
}

## 许可证 MITApache-2.0

依赖项

~310KB