2009-09-28 11 views
6

¿Hay alguna biblioteca que pueda usarse para validar movimientos de ajedrez y simular juegos en .NET? Sería genial si la biblioteca puede entender movimientos en notación algebraica y también proporciona una API simple para hacer movimientos. Por ejemplo, game.Move ("E2", "E4"), etc. En el segundo caso, la biblioteca debería ser capaz de generar notación algebraica para los movimientos. No quiero hacer movimientos ni jugar ajedrez, etc., solo una biblioteca para validación de juegos y simulación de juegos. ¿Algún enlace?Biblioteca de validación de movimientos de ajedrez

Respuesta

4

Eche un vistazo a C# Chess Game Starter Kit. Es una aplicación de código abierto de C# que hace exactamente lo que usted solicitó y es gratis para uso comercial.

Para una explicación detallada del código fuente, véase:

http://www.chessbin.com

2

Hay también sharpchess que es de código abierto (bajo GNU GPL) y escrito para .Net v2 Tiene un motor de núcleo, así como una GUI de WinForm. A pesar de que juega al ajedrez, creo que potencialmente puedes quitar el "motor del juego" para dejar un caparazón para la simulación.

Algunos puntos de la bala desde el sitio

* 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. 

motor de ajedrez ofrece

* WinBoard compatible. 
* 0x88 board representation. 
* Opening book containing over 1300 varied opening positions. 

características de programación

* A well-designed, and hopefully easy-to-understand, object-model that will enable other developers to quickly get involved in the project. 
1

publiqué mi ajedrez-movimiento-validador en github.

Ejemplo:

var board = Board.GetNewBoard(); 

board.SetPiece<Rook>(ChessColor.White, 'A', 1); 

var result = board.MovePiece('A', 1, 'A', 8); 
Cuestiones relacionadas