G
Guest
Gast
Hallo allerseits,
ich habe folgende Aufgabe gestellt gekriegt:
Implementieren Sie eine Klasse Squares.java. Squares ist ein Spiel, welches auf einem 8x8 großen Feld mit zwei Spielern gespielt wird. Beide setzen abwechselnd einen Spielstein (X bzw. O). Ziel des Spieles ist es, mit jeweils vier eigenen Spielsteinen die Ecken eines Quadrates zu belegen. Für ein fertiges Quadrat bekommt man den Flächeninhalt als Punkte. Vervollständigt man mit einem Zug mehrere Quadrate, bekommt man für jedes Quadrat die Punkte. Das Spiel ist beendet, wenn entweder das Feld komplett belegt ist oder sobald von einem Spieler mindestens 500 Punkte erreicht wurden.
Arbeiten sie mit einem 2-dimensionalen char-Array. Um einen Stein zu setzen, lesen Sie für den jeweiligen Spieler den Zeilen- und Spaltenindex ein. Ist der Stein gesetzt, überprüfen Sie den Rest der Zeile nach rechts auf einen weiteren gleichen Spielstein. Ist dieser gefunden, berechnen Sie die Indizes der möglichen Quadratecken links und rechts unten und testen, ob sich dort ebenfalls die passenden Spielsteine befinden. Danach prüfen Sie das Quadrat nach oben, berechnen also die Indizes für die linke und rechte obere Ecke. Das wird für die gesamte Zeile nach rechts durchgeführt. Danach erfolgt der gleiche Vorgang analog nach links. Ist ein Quadrat gefunden, werden jeweils die Punkte (Flächeninhalt des Quadrates) gutgeschrieben.
Wäre in folgendem Beipiel Spieler X am Zug und würde er seinen Stein in Zeile 5 und Spalte 4 setzen, würde er 25 (16+9) Punkte bekommen.
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
---+---+---+---+---+---+---+---+---+
1 | | | | O | O | | O | O |
---+---+---+---+---+---+---+---+---+
2 | X | | | X | O | | O | O |
---+---+---+---+---+---+---+---+---+
3 | | X | | X | O | | | O |
---+---+---+---+---+---+---+---+---+
4 | | | | | | | | |
---+---+---+---+---+---+---+---+---+
5 | X | X | | | | | | X |
---+---+---+---+---+---+---+---+---+
6 | | | | | | | | |
---+---+---+---+---+---+---+---+---+
7 | | | | X | | | | X |
---+---+---+---+---+---+---+---+---+
8 | | | | | | | | |
---+---+---+---+---+---+---+---+---+
Leider ist die Tabelle ein wenig verrutscht aber ich hoffe ihr versteht worums geht...ich nämlich nicht! Zwar verstehe ich wie das Spiel funktionieren soll aber ich habe keine Ahnung wie ich es als java-Programm schreiben soll! Deshalb brauche ich eure Hilfe!
Danke schonmal im Voraus![/code]
ich habe folgende Aufgabe gestellt gekriegt:
Implementieren Sie eine Klasse Squares.java. Squares ist ein Spiel, welches auf einem 8x8 großen Feld mit zwei Spielern gespielt wird. Beide setzen abwechselnd einen Spielstein (X bzw. O). Ziel des Spieles ist es, mit jeweils vier eigenen Spielsteinen die Ecken eines Quadrates zu belegen. Für ein fertiges Quadrat bekommt man den Flächeninhalt als Punkte. Vervollständigt man mit einem Zug mehrere Quadrate, bekommt man für jedes Quadrat die Punkte. Das Spiel ist beendet, wenn entweder das Feld komplett belegt ist oder sobald von einem Spieler mindestens 500 Punkte erreicht wurden.
Arbeiten sie mit einem 2-dimensionalen char-Array. Um einen Stein zu setzen, lesen Sie für den jeweiligen Spieler den Zeilen- und Spaltenindex ein. Ist der Stein gesetzt, überprüfen Sie den Rest der Zeile nach rechts auf einen weiteren gleichen Spielstein. Ist dieser gefunden, berechnen Sie die Indizes der möglichen Quadratecken links und rechts unten und testen, ob sich dort ebenfalls die passenden Spielsteine befinden. Danach prüfen Sie das Quadrat nach oben, berechnen also die Indizes für die linke und rechte obere Ecke. Das wird für die gesamte Zeile nach rechts durchgeführt. Danach erfolgt der gleiche Vorgang analog nach links. Ist ein Quadrat gefunden, werden jeweils die Punkte (Flächeninhalt des Quadrates) gutgeschrieben.
Wäre in folgendem Beipiel Spieler X am Zug und würde er seinen Stein in Zeile 5 und Spalte 4 setzen, würde er 25 (16+9) Punkte bekommen.
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
---+---+---+---+---+---+---+---+---+
1 | | | | O | O | | O | O |
---+---+---+---+---+---+---+---+---+
2 | X | | | X | O | | O | O |
---+---+---+---+---+---+---+---+---+
3 | | X | | X | O | | | O |
---+---+---+---+---+---+---+---+---+
4 | | | | | | | | |
---+---+---+---+---+---+---+---+---+
5 | X | X | | | | | | X |
---+---+---+---+---+---+---+---+---+
6 | | | | | | | | |
---+---+---+---+---+---+---+---+---+
7 | | | | X | | | | X |
---+---+---+---+---+---+---+---+---+
8 | | | | | | | | |
---+---+---+---+---+---+---+---+---+
Leider ist die Tabelle ein wenig verrutscht aber ich hoffe ihr versteht worums geht...ich nämlich nicht! Zwar verstehe ich wie das Spiel funktionieren soll aber ich habe keine Ahnung wie ich es als java-Programm schreiben soll! Deshalb brauche ich eure Hilfe!
Danke schonmal im Voraus![/code]