【发布时间】:2009-04-17 09:05:36
【问题描述】:
我正在寻找一个不错的 .Net 国际象棋引擎。如果有一个好的国际象棋现有的,任何关于移植到 .Net 的好候选人的建议?
【问题讨论】:
我正在寻找一个不错的 .Net 国际象棋引擎。如果有一个好的国际象棋现有的,任何关于移植到 .Net 的好候选人的建议?
【问题讨论】:
不是这样的引擎,但Valil.Chess 是一款出色的 .NET 国际象棋游戏(提供源代码 - 因此您可以使用游戏的“引擎”),它在 Code Project 中赢得了Nov 2004 Submission Prize。
还有SharpChess,也是一个完整的象棋游戏,用C#写的。
至于可以转换为 .NET 的通用 Chess 引擎,有很多可用的,并且根据挑战,您可以从众多引擎中挑选并在 .NET 中实现。一个好的起点列表是here,还显示了每个引擎的Elo Rating。即使重新实现FICS 的服务器端也肯定是一个挑战! :)
【讨论】:
我写了一个计算机国际象棋博客,带您完成从头开始用 C# 编写国际象棋引擎的所有步骤,它包括一个计算机国际象棋链接部分和一个国际象棋游戏入门工具包。
亚当·贝伦特
【讨论】:
SharpChess 引擎代码 (C#) 可在此处获得:
【讨论】:
你可以试试SharpChess 或ChEngine。
【讨论】:
我还建议将SharpChess 作为 .Net 的起点。当我开发我的引擎(在 VB、Delphi、C# 中)时,我经常提到 Robert Hyatt 教授的 Crafty。 (看看 Crafty 的进步版本是一种乐趣。)
【讨论】:
对于那些多年后来到这里的人,我检查了其他答案中最受欢迎的建议 - 显然是 SharpChess - 现在它似乎非常过时;上次提交是 6 年前,有许多未决问题、断开的链接和单元测试似乎不完整,不足以证明引擎是如何工作的,至少对于大多数不熟悉国际象棋引擎的人来说是这样。
我发现了这个名为 StockChess 的项目,它是一个简单的 WPF 应用程序,它使用名为 Stockfish 的国际象棋引擎的可执行文件,自称是 the strongest open source chess engine nowadays。
我发现 StockChess 对其page 的运作方式有合理的解释。您可能可以将其作为起点,这就是我正在做的事情。
【讨论】: