Praktikum 13

Dieses Praktikum wird Tic-Tac-Toe abschließen.

Im letzten Praktikum haben wir es bis zum Rendering des Spielfelds geschafft und können einen Kreis irgendwo auf der Spielfläche platzieren.

Ich werde wieder den Ablauf Live erläutern.

Was fehlt noch:

Der Kreis sollte nur in dem 3x3-Gitter platzierbar sein.

Dafür erstellen wir eine neue Klasse "Field". Jedes Field beschreibt eines der neun Felder und enthält: Ein Rechteck (Bounding Box des Feldes) und ein Image (Kreis oder Kreuz). Außerdem ein enum (NEU!) um zu unterscheiden, ob es leer, ein Kreis oder ein Kreuz ist, dies wird für die Siegprüfung benötigt.

Zudem erhält die Klasse "Field" eine Methode "isInside(Point)". Diese gibt true zurück, wenn ein Punkt im Feld ist, dies wird für die Mausklicklogik verwendet.

Nun kann abwechselnd gespielt werden: Wenn ein Klick "isInside" von einem "Field" ist und noch nichts dort drin ist, wird ein Kreis oder Kreuz dort drinnen platziert. Im Anschluss ist jeweils eine Siegüberprüfung. Die 8 Siegpositionen (3x Vertikal, 3x Horizontal, 2x Diagonal) können dafür direkt so programmiert werden ("Hardcoding").

Wenn noch Zeit ist können wir überlegen wie man die Sieglinie zeichnen kann.

Zuletzt geändert: Montag, 28. Juni 2021, 23:39