12个版本
0.4.0 | 2022年6月24日 |
---|---|
0.2.0 | 2017年5月18日 |
0.1.9 | 2016年1月16日 |
0.1.4 | 2015年12月27日 |
#18 in #cards
36 个月下载量
55KB
1.5K SLoC
libcoinche
Rust库,用于模拟Coinche纸牌游戏。
文档
使用时,将 libcoinche
添加到您的Cargo依赖项
[dependencies]
libcoinche = "0.1.9"
查看 coinched 了解使用示例。
lib.rs
:
模拟Coinche纸牌游戏(一种法国纸牌游戏)。
查看 coinched 了解使用示例。
以下是一个简单的示例
extern crate libcoinche;
use libcoinche::{bid,cards,pos};
fn main() {
// The first player
let first = pos::PlayerPos::P0;
// Start the first phase with an auction
let mut auction = bid::Auction::new(first);
// Check their cards
let hands = auction.hands();
// Players bid or pass
auction.bid(pos::PlayerPos::P0, cards::Suit::Heart, bid::Target::Contract80).unwrap();
auction.pass(pos::PlayerPos::P1).unwrap();
auction.pass(pos::PlayerPos::P2).unwrap();
// The result is `Over` when the auction is ready to complete
match auction.pass(pos::PlayerPos::P3) {
Ok(bid::AuctionState::Over) => (),
_ => panic!("Should not happen"),
};
// Complete the auction to enter the second phase
let mut game = auction.complete().unwrap();
// Play some cards
game.play_card(pos::PlayerPos::P0, hands[0].get_card());
// ...
}
依赖项
~0.6–1.3MB
~28K SLoC