Esiste una libreria che può essere utilizzata per convalidare le mosse di scacchi e simulare i giochi in .NET? Sarebbe bello se la libreria fosse in grado di capire le mosse nella notazione algebrica e fornire anche semplici API per fare mosse. Ad esempio, game.Move ("E2", "E4") ecc. Nel secondo caso, la libreria dovrebbe essere in grado di generare la notazione algebrica per le mosse. Non voglio che faccia mosse o giocare a scacchi ecc., Solo una libreria per la validazione del gioco e la simulazione di gioco. Qualsiasi link?Libreria di convalida di spostamento degli scacchi
6
A
risposta
4
Dai uno sguardo allo C# Chess Game Starter Kit. È un'applicazione open source C# che fa esattamente ciò che hai richiesto ed è gratuito per uso commerciale.
Per una spiegazione dettagliata del codice sorgente veda:
2
C'è anche sharpchess che è open source (GNU GPL) e scritto per NET v2 ha un nucleo motore pure come una GUI WinForm. Anche se gioca a scacchi, credo che potenzialmente spogli il "motore di gioco" per lasciare una shell per la simulazione.
Alcuni punti elenco dal sito
* 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.
motore di scacchi dispone
* WinBoard compatible.
* 0x88 board representation.
* Opening book containing over 1300 varied opening positions.
Programmazione caratteristiche
* A well-designed, and hopefully easy-to-understand, object-model that will enable other developers to quickly get involved in the project.
1
ho pubblicato il mio scacchi-movimento-validatore su github.
Esempio:
var board = Board.GetNewBoard();
board.SetPiece<Rook>(ChessColor.White, 'A', 1);
var result = board.MovePiece('A', 1, 'A', 8);
Problemi correlati
- 1. Libreria di convalida degli input Ruby semplice
- 2. Come codificare la regola di stallo degli scacchi?
- 3. Ottimizzazioni di scacchi
- 4. Conversione di un PGN in un elenco di stringhe FEN nei nodijs (notazioni degli scacchi)
- 5. Utilizzo dell'interfaccia di scacchi universale
- 6. Gioco di scacchi in JavaScript
- 7. Scacchi: alto fattore di ramificazione
- 8. FEN (notazione degli scacchi) al generatore HTML? Open source Java
- 9. Quale libreria di convalida per ASP.NET MVC?
- 10. scacchi IA per GAE
- 11. Standard di convalida degli argomenti metodo/metodo
- 12. Rails convalida l'univocità degli intervalli di date
- 13. Alternative per Scacchi MS Research?
- 14. Quale libreria di convalida java devo usare?
- 15. Libreria di convalida dello schema JSON
- 16. Blocchi di convalida della libreria Enterprise
- 17. Spostamento degli articoli del blog in Middleman
- 18. Libreria di convalida Python semplice che segnala tutti gli errori di convalida anziché prima falliti?
- 19. Ricerca di quiescenza di scacchi è troppo estesa
- 20. Rails: eliminazione degli errori di convalida generici "X non valido"
- 21. laravel convalida - ingresso deve essere uno degli elementi di matrice
- 22. Come fare la convalida degli argomenti di F # record
- 23. Convalida degli URL internazionalizzati: si tratta di un problema?
- 24. convalida e gestione degli errori per gli oggetti di servizio
- 25. Come modificare le risposte degli errori di convalida in DRF?
- 26. Visualizzazione degli errori di convalida accanto al relativo campo
- 27. Impedire l'ereditazione degli attributi di convalida nel modello
- 28. Come passare i dati degli errori di convalida tramite redirect()?
- 29. Convalida degli elementi all'interno di un array - Symfony 2.1
- 30. Python: best practice di convalida dell'analisi degli argomenti