Eingabe der Spalte verbessert.

tryOut
Oliver Hummel 2023-11-09 11:57:11 +01:00
parent 9e62cc782c
commit 8bdb92a586
1 changed files with 21 additions and 10 deletions

View File

@ -19,12 +19,17 @@ public class VierGewinnt {
do { do {
// wer ist dran? // wer ist dran?
// Spielstein einwerfen -> Auswahl welche Spalte // Spielstein einwerfen
System.out.print("Spieler " + spieler + ", bitte wählen Sie eine Spalte aus: "); do {
int spalte = kb.nextInt(); System.out.print("Spieler " + spieler + ", bitte wählen Sie eine Spalte aus: ");
int spalte = kb.nextInt();
einwurfVerarbeiten(spielfeld, spalte, spieler);
if (!einwurfVerarbeiten(spielfeld, spalte, spieler))
System.err.println("Ungültige Auswahl!");
else
break;
} while(true);
spielfeldAusgeben(spielfeld); spielfeldAusgeben(spielfeld);
// Gewinnerprüfung // Gewinnerprüfung
@ -73,17 +78,23 @@ public class VierGewinnt {
System.out.println(); System.out.println();
} }
public static void einwurfVerarbeiten(char[][] spielfeld, int spalte, char stein) { public static boolean einwurfVerarbeiten(char[][] spielfeld, int spalte, char stein) {
// Was machen wir, wenn die Spalte schon voll ist? spalte--; // Da die Eingabe von 1 bis 7 war.
spalte--; // Da die Eingabe von 1 bis 7 war. if (spalte < 0 || spalte > 6)
return false;
for (int z = 0; z < spielfeld.length; z++) { for (int z = 0; z < spielfeld.length; z++) {
if (spielfeld[z][spalte] != '_' && z == 0) // Spalte voll?
return false;
if (spielfeld[z][spalte] != '_' || z == spielfeld.length-1) { if (spielfeld[z][spalte] != '_' || z == spielfeld.length-1) {
spielfeld[z][spalte] = stein; spielfeld[z][spalte] = stein;
return; return true;
} }
} }
return false;
} }
} }