3.2 Übungsprojekt: TicTacToe
Öffne in Bluej das Projekt TicTacToe
. Im Prototypen wird das Spielfeld bereits im Konstruktor erstellt. Es muss im folgenden die Methode beginneSpiel
programmiert werden.
1. Quelltext analysieren
Der folgende Quelltext zeigt einen Ausschnitt der Methode beginneSpiel, der auch schon im Prototypen zu finden ist. Kommentiere den Quelltext zeilenweise. Gehe insbesondere auf die Zeilen 3-4, 10 und 13-15 ein und benutze hier die in Kapitel 3.1 eingeführte Fachsprache.
public void beginneSpiel()
{
boolean spieler1AmZug;
spieler1AmZug = true;
while(tasti.esc() == false)
{
if( mausi.linksklick() == true )
{
SGKreis spielerKreis = new SGKreis(300, 300, 100);
spielerKreis.setzeFuellung(true);
int mausX;
mausX = mausi.gibX();
int mausY = mausi.gibY();
// Hier muss später noch programmiert werden
}
SGSystem.warte(40);
}
}
2. Kreise positionieren
Beim Ausführen des Programms fällt auf, dass der Kreis beim Linsklick nicht an die richtige Position gesetzt wird. Dafür ist eine Verzweigung nötig:
Damit er in die richtige Spalte gesetzt wird, kannst du den folgenden Pseudo-Code nutzen.
wenn der Wert der Variablen mausX kleiner als 200 ist
setze die x-Koordinate von spielerKreis auf 40
sonst
wenn der Wert der Variablen mausX kleiner als 400 ist
setze die x-Koordinate von spielerKreis auf 240
sonst
setze die x-Koordinate von spielerKreis auf 440
Implementiere im Anschluss auch die Festlegung der y-Koordinate des Kreises anhand der Variablen mausY
.
3. Farbe des Kreises festlegen
Als nächstes muss die Farbe des Kreises festgelegt werden. Wenn die Variable spieler1AmZug
den Wert true hat
, soll der Kreis rot gefärbt werden, ansonsten blau.
4. Den aktiven Spieler wechseln
Zuletzt muss der aktive Spieler gewechselt werden. Wenn die Variable spieler1AmZug
den Wert true hat
, soll sie auf false
gesetzt werden, ansonsten auf true
.

