1202 | vgewi | 4-gewinnt Überprüfung | ||||||||
| ||||||||||
Abzugebende Files: vgewi.txt, vgewi.java |
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.
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.
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.
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.