Hier geht es direkt zum Spiel 

Allgemein

Es begann mit einer Diskussion während der Mittagspause unter Kollegen. Die Frage: Wer ist der beste Software-Entwickler aus unserer kleinen Truppe? Aus der nicht ganz ernstgemeinten Diskussion entstand eine interessante Idee. Um unsere Kräfte zu messen, entwickelt Jeder eine softwarebasierte Lösungsstrategie für den Spieleklassiker Vier Gewinnt. Unsere Softwareversionen haben wir im Zweikampf gegeneinander antreten lassen, um so zu ermitteln, welche Lösungsstrategie die Bessere ist.

Lösungsstrategie

Am Anfang waren die Lösungsansätze viele Bastellösungen (Trial and Error), bis wir anfingen uns professioneller der Herausforderung zu nähern. Es folgten die ersten Strategien basierend auf dem Minimax-  und Monte Carlo Tree Search (MCTS) Algorithmus  , wie viele andere Schach- und Go-Computer heute.

Mittlerweile sind die verschiedenen Lösungsstrategien in Fleisch und Blut übergegangen, sodass Vier Gewinnt heute für mich als "Hello World" Beispiel dient, wenn ich mich mit neuen Programmiersprachen beschäftige. Mittlerweile existieren von mir Versionen in C#.Net, Javascript, Java, Objective-C, Swift, Python, PHP und aus einer wilden Phase sogar in C++.

Jetzt viel Spaß beim spielen. Hier findet ihr die aktuelle Version basierend auf dem MCTS entwickelt in JavaScript. (seit 1. April 2021 habe ich die Java-Version und die Tomcat-Instanz in Rente geschickt)

Spiel

  • Du hast den ersten Zug, spielst rot und der Computer spielt gelb
  • Um einen Zug zu tätigen klicke auf die Spalte, in die dein Spielstein fallen soll
  • Der letzte durch Dich oder den Computer getätigte Spielzug wird durch ein  hervorgehoben
  • Der Computer benötigt für die Berechnung des nächsten Spielzug circa zwei Sekunden
  • NEU: Ein Blick in die Entwicklerkonsole des Browsers zeigt Details zum Spielzug des Computers