2009-09-28 2 views
6

Gibt es eine Bibliothek, mit der Schachzüge validiert und Spiele in .NET simuliert werden können? Es wäre großartig, wenn die Bibliothek Bewegungen in algebraischer Notation verstehen und auch eine einfache API zum Ausführen von Bewegungen bereitstellen könnte. Zum Beispiel, game.Move ("E2", "E4") usw. Im zweiten Fall sollte die Bibliothek Algebraische Notation für die Züge generieren können. Ich möchte nicht, dass es Züge macht oder Schach usw. spielt, nur eine Bibliothek für Spielvalidierung und Spielesimulation. Irgendwelche Links?Schachzug-Validierungsbibliothek

Antwort

4

Werfen Sie einen Blick auf die C# Chess Game Starter Kit. Es ist eine C# Open-Source-Anwendung, die genau das tut, was Sie angefordert haben, und es ist frei für die kommerzielle Nutzung.

Eine detaillierte Erklärung des Quellcodes siehe:

http://www.chessbin.com

2

Es gibt sharpchess auch die Open-Source (unter GNU GPL) ist und für .Net v2 geschrieben Es verfügt über eine Core-Engine als auch als eine WinForm-GUI. Obwohl es Schach spielt, glaube ich, dass Sie möglicherweise die "Game Engine" entfernen, um eine Shell für die Simulation zu verlassen.

Einige Aufzählungszeichen von der Website

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

Schach-Engine verfügt über

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

Programmierfunktionen

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

i veröffentlichte meine Schach-Bewegung-Validator auf github.

Beispiel:

var board = Board.GetNewBoard(); 

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

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