我正在寻找一个我可以用来试验棋盘游戏的程序或图书馆(国际象棋,但不一定 - 其他同样复杂的棋盘游戏) 也可以)。我将测试不同的游戏算法。
这就是我需要的:
如果可能的话,我想让我的节目对抗 球员喜欢gnuchess和crafty,但也反对自己 和一个人类玩家;
如果我的播放器程序可以与之通信,那就没关系了 “服务器”通过TCP,但如果它有更好的话 一个C接口(不是C ++,因为那时我必须写 包装器);
我可能想要改变游戏规则(初始位置) 件数,件数,甚至运动规则);
灵活(如果库/服务器验证,则可以 例如,象棋会移动,但我想要这样的功能 是可选的,因为我想把它关掉一些 实验);
免费(我可能想进入源代码,也许吧 改变几位)。
如果有人能指出我这样的图书馆/服务器,我将不胜感激......
非常感谢!
P.S。:我想要包含一个“棋盘游戏”标签,但似乎我需要更多的声誉......
P.S。 2:我想接受两个答案(它们是互补的)。遗憾的是StackOverflow不允许这样做。
答案 0 :(得分:2)
VASSAL是一款跨平台引擎,可通过互联网玩棋盘游戏和纸牌游戏。它被设计用于允许人类互相玩耍,但它足够可扩展,你可以添加一个AI播放器。
它是开源的,非常可定制的,人们使用它创建了原创游戏。
答案 1 :(得分:1)
XBoard protocol是国际象棋引擎和图形板前端之间的标准。这是纯文本:据我所知,没有图书馆。
虽然看起来很复杂,但实现非常简单:为了开发可用的应用程序,需要really small subset。 doc通常是指国际象棋引擎,但同样适用于客户端(反转方)。
假设您可以拥有XBoard / Winboard的相同连接,具体取决于已实施的协议数量。如果你需要一些代码来检查,除了经典的Eboard和Xboard之外,网上有很多例子,我的意思是really a lot of(它是一个国际象棋引擎列表,但是其中有人,比如babychess,也是一个GUI前端。)
答案 2 :(得分:0)
我不确定这样的东西是否存在..顺便提一下,大多数这些主题很容易自己开发:
如果你不打算用大量不同的游戏进行测试,那么投射一些真正可扩展的东西(比如引擎)则会浪费时间。只需专注于可修改的部件并明智地编程......
实际上有些部分不需要是通用的:计划一个好的游戏协议,然后只关心不允许移动和类似的事件..