编程一个国际象棋人工智能

14

我想尝试编写一个国际象棋AI。有没有.NET框架(或者甚至是用Lua脚本编写的象棋程序)可以让我编写和测试一个国际象棋AI,而无需担心实际制作国际象棋游戏?


4
祝好运!编写一个好的国际象棋引擎是众所周知的困难。 - Steve K
4个回答

23

不确定您想要做什么。

如果您正在寻找一个现成的国际象棋图形用户界面(GUI),您可以使用WinBoard。由于建立了通信协议,它与底层的国际象棋引擎完全解耦。因此,您的国际象棋引擎成为一个控制台应用程序,与GUI交换命令。

一个更现代的替代方案遵循相同的概念,即UCI。支持UCI的GUI是Arena


1
不确定我为什么不清楚,但我会查看那些链接,谢谢! - RCIX
4
抱歉,我没打算挖苦你。只是更喜欢用“国际象棋GUI”这个术语,而不是“国际象棋游戏”,因为后者有点模糊。顺便说一下,如果你还不知道的话,http://www.gamedev.net/reference/programming/features/chess1/ 是一个非常好的建立国际象棋引擎的教程。 - AndreaG

15

我写了一篇关于计算机国际象棋引擎的博客,它包括从零开始使用C#编写国际象棋引擎的所有步骤,还有一个计算机国际象棋链接部分和一个国际象棋游戏启动套件。

http://www.chessbin.com

Adam Berent


1
不错的工作。你考虑过把BoardEvaluation类转换成一个接口(IBoardEvaluation)吗?这样开发者就可以插入他们自己的评估类了。 - Lee Smith

4

1
  1. 使用其中一个开源国际象棋游戏。
  2. 找出决定计算机下一步走法的界面。
  3. 使用相同的界面实现你自己的人工智能并移除用户界面部分。
  4. 将你的人工智能与内置的对手进行比较。
  5. 愉快地玩耍吧!

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接