Benutzer-Werkzeuge

Webseiten-Werkzeuge


Seitenleiste

wettbewerb:vier_gewinnt

Vier gewinnt

Die Aufgabe dieses Programmierwettbewerbes ist es, eine KI für das Spiel „Vier gewinnt“ zu programmieren. Die Klassen für das Spielfeld, die Darstellung etc. existieren bereits und können verwendet werden. Ein Archiv mit den benötigten Dateien findet ihr auf der ISIS-Seite. Hier eine kleine Erklärung zu den einzelnen Dateien:

main_console.py

Dies ist die Datei die aus der Konsole mit „python main_console.py“ gestartet werden muss. In ihr werden die 2 KI's geladen, die gegeneinander spielen sollen. Z.B.:

KI_w = Almost_Stupid(WHITE)
KI_b = Almost_Stupid(BLACK)

Hier wird für die weißen und schwarzen Steine die KI Almost_Stupid geladen. Voraussetzung dafür ist, dass die Klasse Almost_Stupid existiert und importiert wurde:

from Almost_Stupid import *

Danach wird ein Game Objekt erstellt. Dieses regelt den Spielablauf, lässt die KI's abwechselnd ziehen, überprüft ob das Spiel entschieden ist, etc…

Position.py

Diese Klasse ist von großer Bedeutung. In einem Objekt der Klasse Position wird die aktuelle Spielposition gespeichert. Diese aktuelle Position wird vom Game Objekt in jedem Zug an die KI übergeben, damit diese in der Lage ist, einen Zug zu ermitteln. In dem Archiv auf der ISIS-Seite gibt es eine Ipython notebook namens „Test_Position.ipynb“ welches die Verwendung der Klasse erklärt. Hier nochmals ein paar Hinweise zu den Attributen und Methoden der Klasse:

  • board (Attribut): Dieses Attribut ist eine Liste von Listen und repräsentiert dementsprechend, das 2D-Feld. Auf das Feld (x,y) kann zugegriffen werden mittels self.board[x][y].

KI.py

Eure Aufgabe ist es, eine KI zu schreiben. Diese KI muss eine Schnittstelle zur Gameklasse zur Kommunikation haben.

wettbewerb/vier_gewinnt.txt · Zuletzt geändert: 2017/07/13 17:55 von arik