Labor – 2-dim-Arrays, Schachbrett

Alles wird in EINER Klasse Schachbrett implementiert, damit Wiederverwendung von Methoden möglichst einfach.

Damit mehrere Spiele hintereinander möglich, gibt es eine Methode zum "initialisieren" des Schachbretts (aller Felder) mit '.': brettInitialisieren().

1. Bewegungen Springer (Pferd)

Ein Springer (Pferd) soll bei sonst leerem Schachbrett springen. Kein Feld darf 2 mal verwendet werden.

Die Ausgangsposition wird zufällig gewählt und mit 'O' (groß) markiert.

Aus den maximal 8 möglichen Sprüngen wird zuerst der 2 x oben, 1 x links versucht, danach im Uhrzeigersinn die 7 weiteren, bis ein gültiges, unbesuchtes Ziel-Feld gefunden wird.
Dieses wird angesprungen, das alte Feld als "benutzt" markiert.

Es wird ein Protokoll der Sprünge auf dem Bildschirm ausgegeben, mit dem die Sprünge nachvollzogen werden können.

Am Beginn (nach Wahl des Startpunktes) und am Schluss wird der Bildschirm "gezeichnet".

Es ist ein char-Array zu verwenden, leeres Feld enthält '.', besuchtes Feld 'x', aktuelle Springer-Position: 'S'.

2. Ausgabe des Schachbretts

erfolgt mit einer Methode printSchachbrett(String titel). Beispiel:

 . . x . . . . .
 . . . . x . . .
 . . . S . . . .
 . . . . . O . .
 . . . . . . . .
 . . . . . . . .
 . . . . . . . .
 . . . . . . . .

3. Springer gegen Läufer

Auf dem Schachbrett gibt es für jede Seite nur mehr 1 Figur: Weiß: Läufer ('L'), Schwarz: Springer ('S').
Ausgangsposition beider wird zufällig gewählt (nicht SELBES Feld) und mittels obigem printSchachbrett() ausgegeben.

Lass den Läufer Züge in zufälliger und Weite machen.

Der Springer soll immer prüfen, ob er den Läufer in diesem Zug schlagen kann.
Wenn kein Schlagen möglich, wird die Zielposition zufällig (wie oben, aber es gibt keine "besuchten" Felder - Widerverwendung obiger Methoden!) festgelegt werden.

Ende, wenn einer den anderen schlägt.

Gib alle Züge als Protokoll auf dem Bildschirm aus, sodass das Spiel damit nachgestellt werden kann.

Am Ende wird ebenfalls das Schachbrett ausgegeben mit dem Gewinner auf dem Feld (der andere ist ja geschlagen)