Ein C++-Beispiel mit ClanLib setzt das Spiel Vier gewinnt als kleine interaktive Anwendung um. Das Spielfeld besteht aus sieben Spalten und sechs Reihen, also 42 möglichen Positionen. Eine Suchroutine bewertet mögliche Züge und lässt den Computer gegen einen menschlichen Spieler antreten.
Für die Darstellung und Eingabe verwendet das Beispiel ClanLib. Der Spieler bewegt die Auswahl mit den Pfeiltasten und legt einen Spielstein mit Enter oder der Leertaste ab. Die Steine werden über Zustände für ein leeres Feld sowie rote und gelbe Spielsteine verwaltet.
Begrenzter Spielbaum und Bewertungsfunktion
Der Quelltext untersucht zunächst die Größenordnung des Spielbaums. Nach drei Halbzügen ergeben sich aus den sieben Spalten 7 plus 49 plus 343 mögliche Zustände, zusammen 399. Nach vier Halbzügen steigt die Zahl auf rund 2.800. Für eine vollständige Suche bis zum Spielende wäre der Aufwand deutlich größer, deshalb wird die Tiefe im Beispiel auf sechs Ebenen begrenzt.
Die Minimax-Suche bewertet die Blätter des gekürzten Baums. Folgen mit zwei, drei oder vier gleichfarbigen Steinen erhalten unterschiedliche Gewichte, während gegnerische Reihen die Bewertung reduzieren. Dadurch kann die Anwendung zwischen unmittelbaren Gewinnzügen, vorbereiteten Reihen und einer drohenden Niederlage unterscheiden.
Das Beispiel zeigt damit eine überschaubare Verbindung von Eingabe, Zustandsverwaltung und Suchalgorithmus. Für weiterführende C++-Fragen passt der ältere Beitrag zu den C++ Core Guidelines, der den strukturellen Aufbau wartbarer Software behandelt.

