2009-11-20 124 views
11

我期待着嘗試寫一個國際象棋AI。有沒有什麼我可以在.NET框架上使用(或者甚至可以在Lua中編寫一個國際象棋程序),這將讓我編寫和測試一個國際象棋AI,而不用擔心實際上是在玩象棋遊戲?編程一個國際象棋AI

+4

祝你好運!編寫一個好的國際象棋引擎是非常困難的。 – 2009-11-20 09:41:35

回答

19

不確定你要做什麼。

如果您正在尋找現成的國際象棋GUI,您可以使用WinBoard。 由於建立了通信協議,它與底層象棋引擎完全分離。您的國際象棋引擎因此成爲與GUI交換命令的控制檯應用程序。

遵循相同概念的更現代的選擇是UCI。支持UCI的GUI是​​。

+1

不知道我怎麼不清楚,但我會檢查出這些鏈接,謝謝! – RCIX 2009-11-20 09:52:30

+4

對不起,並不意味着是sn。。只是更喜歡「國際象棋gui」而不是「國際象棋遊戲」,這是很模糊的。 順便說一句,http://www.gamedev.net/reference/programming/features/chess1/是一個非常好的教程,建立一個國際象棋引擎,如果你不知道它已經。 – AndreaG 2009-11-20 10:03:43

+1

+1來自偉大的提示,併爲您的評論中的鏈接+1。 – 2009-11-21 21:52:59

2
  1. 用途之一。
  2. 找出決定計算機下一步移動的界面。
  3. 使用相同的界面實現您自己的AI並刪除用戶界面部分。
  4. 將您的AI與包含的AI進行比較。
  5. 好玩!
13

我寫了一個計算機國際象棋博客,帶你通過從頭開始編寫一個國際象棋引擎的所有步驟,它包括一個計算機國際象棋鏈接部分和國際象棋遊戲初學者工具包。

http://www.chessbin.com

亞當Berent

+1

好的工作。您是否考慮將BoardEvaluation類轉換爲接口(IBoardEvaluation)?然後開發人員可以插入他們自己的評估類。 – 2009-12-03 17:55:59

+0

這不是一個壞主意,謝謝。 – 2009-12-04 21:21:05