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 使用

BSD-2-Clause

42KB
891

Maintenance

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