7 个版本 (破坏性更新)
0.6.0 | 2023年8月13日 |
---|---|
0.5.1 | 2023年5月2日 |
0.5.0 | 2023年4月26日 |
0.4.0 | 2021年8月4日 |
0.1.0 | 2017年12月3日 |
#349 in 游戏开发
被 backgammon-simd 使用
42KB
891 行
backgammon
国际象棋:世界上最古老的棋类游戏
这个crate提供了一个纯、规范的国际象棋游戏实现。
支持的加倍骰子规则
以下是在加倍骰子上支持的以下规则 rules
- 海狸
- 浣熊
- 墨菲
- 雅可比
- 克劳福德
- 荷兰
示例
以默认的分数和默认规则启动新的国际象棋比赛,默认规则定义在 Rules
use backgammon::r#match::Match;
let mut m = Match::new();
通常,您需要定义比赛的分数,因此
use backgammon::r#match::Match;
use backgammon::rules::MatchRules;
let mut m = Match::new().
with_points(13);
根据您选择的比赛风格,选择一个或多个规则也是有意义的
use backgammon::r#match::Match;
use backgammon::rules::{MatchRules, GameRules};
let mut m = Match::new().
with_points(13).
with_jacoby();
通过调用调用游戏
use backgammon::Game;
use backgammon::rules::{Roll,GameRules};
let mut g = Game::new();
// set rules
g = g.with_beaver().with_raccoon().with_murphy(3).with_jacoby().with_holland();
// roll dices
let g = g.roll();
设计理念
这个库旨在提供完全无状态的游戏函数。这意味着使用该库结合某些数据库实现包装应该很容易。
讨论和支持
请记住,API 还不稳定。任何支持都非常欢迎。请打开一个 问题 来讨论功能或寻求帮助。
您也可以在我的
IRC: #backgammon @ libera.chat (通过 webchat)
许可:BSD-2-Clause
依赖关系
~0.6–1.3MB
~28K SLoC