Sie haben es geschafft! In den vorangehenden Kapiteln haben Sie alle wichtigen Konzepte der objektorientierten Programmierung kennen gelernt. In diesem Kapitel werden die Konzepte nun an einem vertiefenden, etwas komplexeren Beispiel wiederholt.
Das Beispiel stammt aus der Welt der Spiele-Programmierung. Wir werden den Hamstern das Spielen beibringen. Nach diesem Kapitel werden die Hamster in der Lage sein, gegen uns Menschen oder gegen andere Hamster so genannte Zwei-Spieler-Strategiespiele wie Schach, Mühle, Dame, 4-Gewinnt oder Reversi zu spielen, und die Hamster werden so gut sein, dass wir als Menschen kaum noch eine Chance haben, gegen sie zu gewinnen. Sie als Programmierer werden lernen, wie man derartige Spielstrategien programmiert.
Das Spiel, das wir uns als Beispiel ausgesucht haben, ist ein afrikanisches Brettspiel namens Kalah. Die Spielregeln werden in Abschnitt 1 erläutert. In Abschnitt 2 wird dann zunächst ein Programm entwickelt, das es zwei menschlichen Spielern ermöglicht, gegeneinander Kalah zu spielen. Das Hamster-Territorium ist dabei das Spielfeld und die Hamster führen die ihnen von den Spielern mitgeteilten Spielzüge aus. Abschnitt 3 stellt anschließend einen allgemeingültigen Algorithmus zur Ermittlung guter Spielzüge für Zwei-Spieler-Strategiespiele vor. Dieser Algorithmus wird in Abschnitt 4 an das Kalah-Spiel angepasst. Konkret wird in Abschnitt 4 das in Abschnitt 2 entwickelte Programm so erweitert, dass anschließend Menschen gegen Menschen, Menschen gegen Hamster und auch Hamster gegen Hamster Kalah spielen können. Zum Testen, ob Sie die Thematik dieses Kapitels verstanden haben, werden Ihnen in Abschnitt 5 einige Spiele vorgestellt, die Sie selbst programmieren können.