SrcChess
21.02.2017, 16:50 Uhr

Schach mit C#

Man müsste mal richtig viel Zeit haben, dann könnte man ein eigenes Schachprogramm mit C# entwerfen ...
Der Traum von der vielen Freizeit wird nur für wenige in Erfüllung gehen, aber ein in C# geschriebenes Schachprogramm kann jeder nutzen und bis ins Detail analysieren: Das vom Kanadier Jacques Fournier geschriebene SrcChess ist nämlich Open Source (Lizenz GPL3) und liegt als Source Code vor.

In seinem Artikel zum Schachprogramm auf CodeProject (https://www.codeproject.com/Articles/36112/Chess-Program-in-C) beschreibt Jacques Fournier die Funktionsweise seines Programmes in groben Zügen und benennt auch die Stellen, an denen noch Verbesserungsbedarf besteht. So erfährt man beispielsweise, dass bereits eine Eröffnungsbibliothek angebunden ist und wie man eine eigene Bibliothek einbinden kann. Um die Spielstärke zu erhöhen, so Fournier, wäre zudem eine Endspiel-Bibliothek hilfreich. Eine solche ist bislang noch nicht eingebunden.

SrcChess hat es bereits bis zur Version 3.0 geschafft. Zuletzt eingebaut wurden beispielsweise Tooltips, die mit einer allgemeinen Verbesserung der Benutzeroberfläche einhergehen. Außerdem neu ist die Unterscheidung von Spielstärken und eine entsprechende Anpassung der Fähigkeiten des Programms: Vom Beginner-Status über die Stufen Easy, Intermediate, Advance und More Advance. Besonders interessant ist auch die Option die Programmfähigkeiten manuell justieren zu können.

Wie viel freie Zeit zum Verfassen eines eigenen Schachprogramms erforderlich wäre, lässt ein Blick auf die Zahl der Assemblies/Dateien von SrcChess erahnen: Das Schachprogramm besteht aus 25 Dateien mit insgesamt rund 10.000 Zeilen CSharp-Code. Mit knapp 2000 Zeilen am umfangreichsten ist die Datei ChessBoard.cs, welche unter anderem die Kernlogik des Programms enthält. Ebenfalls ziemlich umfangreich ist ChessControl.cs. Die über 1510 Zeilen umfassende Datei enthält das als UserControl implementierte Schachbrett. Die Benutzeroberfläche wurde insgesamt als Windows-Forms-Anwendung kodiert.





Das könnte Sie auch interessieren