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.

Neueste Beiträge

DWX hakt nach: Wie stellt man Daten besonders lesbar dar?
Dass das Design von Websites maßgeblich für die Lesbarkeit der Inhalte verantwortlich ist, ist klar. Das gleiche gilt aber auch für die Aufbereitung von Daten für Berichte. Worauf besonders zu achten ist, erklären Dr. Ina Humpert und Dr. Julia Norget.
3 Minuten
27. Jun 2025
DWX hakt nach: Wie gestaltet man intuitive User Experiences?
DWX hakt nach: Wie gestaltet man intuitive User Experiences? Intuitive Bedienbarkeit klingt gut – doch wie gelingt sie in der Praxis? UX-Expertin Vicky Pirker verrät auf der Developer Week, worauf es wirklich ankommt. Hier gibt sie vorab einen Einblick in ihre Session.
4 Minuten
27. Jun 2025
„Sieh die KI als Juniorentwickler“
CTO Christian Weyer fühlt sich jung wie schon lange nicht mehr. Woran das liegt und warum er keine Angst um seinen Job hat, erzählt er im dotnetpro-Interview.
15 Minuten
27. Jun 2025
Miscellaneous

Das könnte Dich auch interessieren

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
Mythos Motivation - Teamentwicklung
Entwickler bringen Arbeitsfreude und Engagement meist schon von Haus aus mit. Diesen inneren Antrieb zu erhalten sollte für Führungskräfte im Fokus stehen.
13 Minuten
19. Jan 2017
Evolutionäres Prototyping von Business-Apps - Low Code/No Code und KI mit Power Apps
Microsoft baut Power Apps zunehmend mit Features aus, um die Low-Code-/No-Code-Welt mit der KI und der professionellen Programmierung zu verbinden.
19 Minuten
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige