我正在寻找一个不错的.Net 国际象棋引擎。如果有一个好的国际象棋现有的,有什么建议可以推荐一个好的候选人来移植到.Net?
6 回答
Valil.Chess不是这样的引擎,但Valil.Chess是一款出色的 .NET 国际象棋游戏(有可用的源代码 - 因此您可以访问游戏的“引擎”),它赢得了2004 年 11 月 Code Project 提交奖。
还有SharpChess,它也是一个完整的国际象棋游戏,用 C# 编写。
至于可以转换为 .NET 的通用 Chess 引擎,有很多可用的,并且根据挑战,您可以从许多引擎中挑选并在 .NET 中实现。这里有一个很好的起点列表,还显示了每个引擎的Elo 评级。即使重新实现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在它的页面上有一个合理的解释它是如何工作的。您可能可以将其用作起点,这就是我正在做的事情。