Gestelltes Problem
Für Spiele mit voller Information gibts den MiniMax-Algorithmus. Der Rechner probiert alle möglichen Zugmöglichkeiten aus, mehrere Halbzüge im Voraus und als Mensch verliert man dann. Der Computer ist deswegen nicht intelligent, man kann ihm nur beibringen, gewisse Spiele recht gut zu spielen. Sowas hatte ich schon früher programmiert, dabei aber jedes Spiel für sich. Diesmal sollte es Java sein, fürs Handy und der Findedenbestenzug-Programmteil von den jeweiligen Spielregeln getrennt ausgeführt werden. Ausserdem sollten die Züge animiert werden.
Programm
Ich weiss nicht, wie andere Leute Programmieren, aber bei mir ists so, dass ich eigentlich von Fehler zu Fehler stolpere. Man schreibt den Code und dann hauts nicht hin, das geht mir dann im Kopf rum, warum geht das nicht, kann doch eigentlich nicht sein. Kann aber doch sein, und wenn ich dann so einen Fehler gefunden hab’, dann freue ich mich und alles ist wieder im Lot.
Es entstand dann also eine “MiniMax-Engine” und gleichzeitig ein VierGewinnt-Spiel. Als das dann lief, hab’ ich mit “Mühle” weitergemacht. Das ist beides in einem einzigen Programm vereinigt, einen Einstellungsdialog gibts auch.
Screenshots:
Das Viergewinnt hab’ ich dann gegen zwei im Internet gefundene Viergewinnts antreten lassen. Bei gleicher Halbzugtiefe waren die dann doch eher nicht so gut. Ich weiss auch warum.
Als nächstes hab’ ich dann Dame und Räuberdame gemacht. Und Halma, 3×3. Und Schach. Und Hase und Jäger.