【问题标题】:Programming a chess AI编写国际象棋 AI
【发布时间】:2009-11-20 09:07:02
【问题描述】:

我正在尝试编写一个国际象棋 AI。有什么我可以在 .NET 框架(或者甚至是用 Lua 编写的国际象棋程序)上使用的东西,可以让我编写和测试国际象棋 AI,而不必担心实际制作国际象棋游戏?

【问题讨论】:

  • 祝你好运!编写一个好的国际象棋引擎是出了名的困难。

标签: artificial-intelligence chess


【解决方案1】:

不确定您要做什么。

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

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

【讨论】:

  • 不知道我怎么不清楚,虽然我会检查这些链接,谢谢!
  • 对不起,我不是故意的。只是更喜欢术语“chess gui”而不是“chess game”,这很模棱两可。顺便说一句,gamedev.net/reference/programming/features/chess1 是一个非常好的构建国际象棋引擎的教程,如果你还不知道的话。
【解决方案2】:

我写了一个计算机国际象棋博客,带您完成从头开始用 C# 编写国际象棋引擎的所有步骤,它包括一个计算机国际象棋链接部分和一个国际象棋游戏入门工具包。

http://www.chessbin.com

亚当·贝伦特

【讨论】:

  • 干得好。您是否考虑过将 BoardEvaluation 类转换为接口(IBoardEvaluation)?然后开发人员可以插入他们自己的评估类。
【解决方案3】:

这里有一些在 Windows 上运行的开源棋盘/游戏。

【讨论】:

    【解决方案4】:
    1. 使用一种开源国际象棋游戏。
    2. 找出决定计算机下一步行动的接口。
    3. 使用相同的界面实现您自己的 AI,并删除用户界面部分。
    4. 将您的 AI 与包含的 AI 进行比较。
    5. 好玩!

    【讨论】:

      猜你喜欢
      • 2023-03-11
      • 2023-03-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多