#player #game #playing #general #prover #move #ggp

ggp-rs

创建通用游戏玩家(GGP)的库

6 个版本

使用旧 Rust 2015

0.1.2 2015年5月9日
0.1.1 2015年5月7日
0.0.3 2015年4月14日

#721 in 游戏

MIT 许可证

105KB
2.5K SLoC

ggp-rs 构建状态

ggp-rs 是一个基于 GGP Base 的 Rust 语言库,用于创建 GGP (通用游戏玩家) 玩家。虽然 GGP Base 允许创建基于命题网络或逻辑证明器的玩家,但这个库目前只支持基于逻辑证明器的玩家。这个逻辑证明器的性能与 GGP Base 中的类似。

请提交 问题 报告错误或请求功能。欢迎 Pull requests。

安装

您可以通过在您的 Cargo.toml 中添加以下内容来从 crates.io 安装此库:

ggp-rs = "*"

示例

以下是一个随机合法移动的玩家的示例(此示例可在 examples 文件夹中找到)

extern crate rand;
extern crate ggp_rs;

use ggp_rs::{Player, Game, Move};
use std::net::Ipv4Addr;

struct RandomPlayer;

impl Player for RandomPlayer {
    fn name(&self) -> String {
        "RandomPlayer".to_string()
    }

    fn select_move(&mut self, game: &Game) -> Move {
        let state = game.current_state();
        let role = game.role();
        let mut moves = game.legal_moves(state, role);
        let r = rand::random::<usize>() % moves.len();
        moves.swap_remove(r)
    }
}

fn main() {
    ggp_rs::run((Ipv4Addr::new(0,0,0,0), 9147), RandomPlayer);
}

要测试玩家,您可以使用 GGP Base 中的 Server 应用程序或在与 Tiltyard 的账户中添加您的玩家。注意,您应该使用 cargo run --release 运行您的玩家,否则您的玩家可能不够快,无法参加大多数游戏。

更多示例和玩家可以在 src/player 中找到。

请注意,ggp-rs 输出可能会发现有用的日志信息。建议将日志级别至少设置为警告并更高,并且可以根据需要将其设置为 info(但建议不要使用 debug)。要设置警告级别的日志级别,请初始化 env_logger 并使用 RUST_LOG=ggp_rs=warn cargo run --release 运行 cargo。

文档

您可以在 此处 找到 API 文档。

许可证

MIT

依赖

~8–10MB
~175K SLoC