Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Lesedauer 3 Min.

Ein Schachprogramm entwickeln

Ein einigermaßen akzeptabel spielendes Schachprogramm zu entwickeln ist gar nicht so schwer. Dank vorgefertigter JavaScript-Bibliotheken und jQuery reichen knapp 300 Zeilen Code.
Die schweißtreibende Fleißarbeit beim Entwickeln eines Schachprogramms ist das Ermitteln, welche Züge in einer gegebenen Stellung legale Züge sind und die Visualisierung des Schachbretts. Für beide Aufgaben gibt es mit Chess.js und Chessboard.js JavaScript-Bibliotheken, die diesen Part zum Kinderspiel machen. Dank der Bibliotheken kann man sich auf den interessanten Teil der Aufgabe konzentrieren: Nämlich einen Allgorithmus zu finden, welcher versucht die jeweils besten Züge zu finden. Wie das am einfachsten und schnellsten klappt, hat Entwickler Lauri Hartikka in einem englischsprachigen Artikel auf freeCodeCamp erläutert.Er beschreibt fünf Schritte, die von anfänglichen Zufallszügen über nach dem Wert von Figuren gewichteten Zügen zu einer Vorschau-Planung mit mehreren Halbzügen Tiefe hin zu einer feineren Gewichtung führen, welche die Position einer Figur auf dem Brett in die Kalkulation mit einbezieht.Die Ergebisse: Schon mit wenigen Zeilen Code ist das Schachprogramm in der Lage zu spielen und gibt einen wunderbaren Gegner ab, weil der menschliche Spieler gegen die Zufallszüge des Programms immer gewinnt. Schritt für Schritt steigt dann die Spielstärke. Kennt das Programm die Werte von Figuren, geht es zur Materialschlacht über. Lernt es das Vorausplanen wird sein Spiel zunehmend ansehnlicher und es macht schließlich keine dummen Fehler mehr. Allerdings stoppt die Anleitung von Lauri Hartikka – nach rund 300 Zeilen Code – just an der Stelle, wenn es darum gehen sollte, dem Programm wirkliche Spielstärke zu verleihen. Der Autor gibt immerhin ein paar Tipps und Links für den weiteren Ausbau.Sein 300-Zeilen-Schachprogramm finden Sie auf GitHub. Wer den Code einsehen und einfach mal auf Run klicken und eine Partie spielen will, kann das unter https://jsfiddle.net/q76uzxwe/1/ tun.
Miscellaneous

Neueste Beiträge

Mehr Leistung für SBCs
Neue Orange-Pi-Varianten von Shenzhen Xunlong liefern höhere Rechenleistung.
12 Minuten
15. Dez 2025
Simple Recipes – User Interface und Plattformanpassungen - Moderne UI-Gestaltung mit der Uno Platform, Teil 5
Fortsetzung des praxisnahen Mini-Projekts: Das Beispiel der Rezepte-App „Simple Recipes“ zeigt, wie Uno ein gemeinsames UI-Design für Desktop, Web und Mobile ermöglicht.
7 Minuten

Das könnte Dich auch interessieren

Elektronische Schaltkreise im Browser simulieren - Simulation
Statt mit Steckfeld oder Lötkolben kann man auf dieser Website Schaltungen per Drag and Drop zusammenstellen und deren Verhalten testen.
2 Minuten
26. Jul 2018
C#-.NET-Apps mit WinUI 3 - Komponentenbasierte Apps mit Fluent/FAST, Teil 3
Microsoft macht mit WinUI 3 ein natives User-Experience-Framework für Windows verfügbar, dessen Komponenten auf dem Microsoft-eigenen Design-System Fluent 2 basieren.
23 Minuten
13. Mai 2024
UIs für Linux - Bedienoberflächen entwickeln mithilfe von C#, .NET und Avalonia
Es gibt viele UI-Frameworks für .NET, doch nur sehr wenige davon unterstützen Linux. Avalonia schafft als etabliertes Open-Source-Projekt Abhilfe.
16 Minuten
16. Jun 2025
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige