1202 vgewi 4-gewinnt Überprüfung
Kategorie:String
Klasse:mittel
Eingabe:siehe Spez
Ausgabe:siehe Spez
Abzugebende Files: vgewi.txt, vgewi.java

Kurzbeschreibung:

In einem String werden die bisher gezogenen Züge in einem 4-gewinnt-Spiel eingelesen, und auf Korrektheit überprüft. Sind alle Züge im Sinne der Spielregeln verlaufen, so soll noch überprüft werden, ob der letzte Zug zu einem Sieg geführt hat.

Allgemeine Hinweise:

Aufgabenstellung:

Spielregeln:

Das Spielfeld ist ein 2-dimensionales Feld bestehend aus 7 Spalten ( A-G, verlaufen senkrecht) und 6 Zeilen (1-6, verlaufen waagrecht).

Es werfen nun 2 Spieler (w..weiß,s..schwarz) abwechselnd ihre Steine in die Spalten ein.
zB: DCC

Sobald eine Spalte voll ist, darf kein weiterer Stein in diese Spalte eingeworfen werden.
Schafft es ein Spieler mindestens 4 seiner Steine in eine Reihe (entweder waagrecht, senkrecht oder diagonal angeordnet) nebeneinander zu bekommen, so hat er gewonnen und das Spiel ist beendet.
Werden aber alle Spalten vollgefüllt, dann ist kein Zug mehr möglich, so endet das Spiel unentschieden.

Lesen Sie einen String ein, der die bisherigen Spielzüge beinhaltet.
z.B. : DECBD die Buchstaben stehen für die Spalten (A-G) in die die Spielsteine geworfen werden, wobei weiß und schwarz abwechselnd ziehen:

  weiß schwarz

Spalten: D
C
E
B
  D  

Überprüfen Sie nun ob jeder der Züge korrekt war (die Anzahl der Steine in jeder der 7 Spalten darf die Zahl 6 nicht übersteigen; sobald einer der Spieler gewonnen hat oder wenn das Spielfeld gefüllt ist, dürfen keine weitern Züge erfolgen)

Falls die Eingabe in Ordnung war und auch die Züge korrekt waren, sollen Sie schließlich noch überprüfen, ob der letzte Zug zu einem Sieg oder einer Niederlage führt.

Eingabedaten:

Lesen Sie einen String (der die zu überprüfenden Spielzüge beinhaltet) ein.

Der eingelesene String darf nur aus den Zeichen A B C D E F G bestehen, er muß aus mindestens 1 und maximal 42 (7*6) Zeichen bestehen.

Ausgabedaten:

Bei einem Sieg des letzten Spielers geben Sie "SIEG", gefolgt von einem Zeilenvorschub aus, andernfalls schreiben Sie "-", gefolgt von einem Zeilenvorschub.

Fehlerbehandlung:

Generell wird bei fehlerhaften Eingabedatensätzen nur eine einzige Fehlermeldung erzeugt, weitere Berechnungen werden nicht mehr durchgeführt.

Enthält der Eingabedatensatz andere Zeichen als angegeben, so soll einmal das Zeichen "?", gefolgt von einem Zeilenvorschub, ausgegeben werden.

Sind die eingegebenen Daten inhaltlich nicht korrekt oder erfüllen nicht die Bedingungen (z.B. zuviele Spielzüge), so soll Ihr Programm "FALSCHE EINGABE", gefolgt von einem Zeilenvorschub, ausgeben.

Beispiele:

Eingabedaten
ABABABAB

ABCDEFBCDE

DHCI

Ausgabedaten
FALSCHE EINGABE

-

?

Bemerkung: Diese Beispiele dienen nur zur Verdeutlichung der Spezifikation und müssen nicht korrekt formatiert sein. Die korrekte Formatierung entnehmen Sie bitte dem mitgelieferten Outputfile. Zum Testen Ihrer Lösung können Sie aus den mitgelieferten Eingabedaten wie folgt eine Ausgabedatei erzeugen:

java vgewi < vgewi.i1 > vgewi.out1

Das erzeugte File vgewi.out1 können Sie dann mit dem mitgelieferten Outputfile vgewi.o1 vergleichen.