Czy istnieje jakaś biblioteka, która może być używana do sprawdzania ruchów w szachy i symulacji gier w .NET? Byłoby wspaniale, gdyby biblioteka rozumiała ruchy w notacji algebraicznej, a także zapewniała proste API do wykonywania ruchów. Na przykład game.Move ("E2", "E4") itd. W drugim przypadku biblioteka powinna być w stanie wygenerować notację algebraiczną dla ruchów. Nie chcę, żeby robił ruchy, grał w szachy itp., Tylko bibliotekę do sprawdzania gry i symulacji gry. Jakieś linki?Biblioteka sprawdzania ruchów szachowych
6
A
Odpowiedz
4
Spójrz na C# Chess Game Starter Kit. Jest to aplikacja Open Source, która wykonuje dokładnie to, o co prosiłeś i jest bezpłatna do użytku komercyjnego.
Szczegółowe wyjaśnienie patrz kod źródłowy:
2
Istnieje również sharpchess który jest open source (na licencji GNU GPL) i napisane dla .NET v2 Posiada silnik rdzenia, jak również jako GUI WinForm. Chociaż gra w szachy, uważam, że potencjalnie rozbierasz "silnik gry", pozostawiając powłokę do symulacji.
Niektóre wypunktowania z witryny
* 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.
silnik Chess wyposażony
* WinBoard compatible.
* 0x88 board representation.
* Opening book containing over 1300 varied opening positions.
Programowanie funkcji
* A well-designed, and hopefully easy-to-understand, object-model that will enable other developers to quickly get involved in the project.
1
opublikowałem mój szachy ruchowo-walidator na github.
przykład:
var board = Board.GetNewBoard();
board.SetPiece<Rook>(ChessColor.White, 'A', 1);
var result = board.MovePiece('A', 1, 'A', 8);