【发布时间】:2009-09-28 11:05:04
【问题描述】:
是否有任何库可用于在 .NET 中验证国际象棋移动和模拟游戏?如果该库能够理解代数记法中的移动并且还提供用于移动的简单 API,那就太好了。例如,game.Move("E2","E4") 等。在第二种情况下,库应该能够为移动生成代数符号。 我不希望它移动或下棋等,只是一个用于游戏验证和游戏模拟的库。 有链接吗?
【问题讨论】:
标签: .net validation chess
是否有任何库可用于在 .NET 中验证国际象棋移动和模拟游戏?如果该库能够理解代数记法中的移动并且还提供用于移动的简单 API,那就太好了。例如,game.Move("E2","E4") 等。在第二种情况下,库应该能够为移动生成代数符号。 我不希望它移动或下棋等,只是一个用于游戏验证和游戏模拟的库。 有链接吗?
【问题讨论】:
标签: .net validation chess
【讨论】:
还有sharpchess 是开源的(在 GNU GPL 下)并为 .Net v2 编写 它有一个核心引擎和一个 WinForm GUI。虽然它确实会下国际象棋,但我相信您可能会剥离“游戏引擎”以留下一个外壳进行模拟。
网站的一些要点
* Graphical chess board.
* Helpful high-lighting of legal chess moves, when clicking on a piece.
* Move history displayed.
* Undo/Redo moves.
* Load/Save chess games during play.
* Replay your saved games.
* Paste FEN positions from the clipboard.
国际象棋引擎功能
* WinBoard compatible.
* 0x88 board representation.
* Opening book containing over 1300 varied opening positions.
编程功能
* A well-designed, and hopefully easy-to-understand, object-model that will enable other developers to quickly get involved in the project.
【讨论】:
我在github 上发布了我的chess-movement-validator。
例子:
var board = Board.GetNewBoard();
board.SetPiece<Rook>( ChessColor.White, 'A', 1 );
var result = board.MovePiece( 'A', 1, 'A', 8 );
【讨论】: