Java:
class Feld
{
char feld[][]; //zweidimensionales Array vom Typ char, stellt Spielfeld dar
Feld()
{
feld = new char [6][7]; //Standardmaße: 6x7
}
void setzen(int spielernummer, int spaltennummer) //setzt einen Spielstein von Spieler 1 oder 2 (wird durch Parameter "int spielernummer" angegeben) in einer Spalte nach Wahl des Spielers
if(spielernummer==1)
{
if(findeFreiesFeld(spaltennummer)!=-1)
{
feld[findeFreiesFeld(spaltennummer)][spaltennummer-1]='1';
gibFeld();
}
else
{
System.out.println("Diese Spalte ist bereits voll.");
}
}
else
{
if(findeFreiesFeld(spaltennummer)!=-1)
{
feld[findeFreiesFeld(spaltennummer)][spaltennummer-1]='2';
gibFeld();
}
else
{
System.out.println("Diese Spalte ist bereits voll.");
}
}
}
int findeFreiesFeld(int spaltennummer)
{
int z=5;
while(feld[z][spaltennummer]!='%')
{
z--;
if (z==-1)
{
break;
}
}
return z;
}
}
der oben beschriebenen Methode int findeFreiesFeld().
int findeFreiesFeld() soll in einer Spalte des Feldes, welche durch ein Parameter festgelegt wird,
das tiefste freie Feld suchen. Gibt es kein freies Feld (bzw. ist der Index [0][spaltennummer] nicht frei
gibt die Methode -1 zurück.
Gibt die Methode -1 zurück, so macht setzen() nichts und gibt eine entsprechende Fehlermeldung aus.
Nun habe ich bereits probiert, eine Abfrage in while-Schleife zu schreiben, ob z bereits -1 ist (s.o.). Wenn ja müsste die Schleife abgebrochen werden, im Beispiel oben mit "break".
Jetzt lautet meine Frage: gibt es vielleicht noch Alternativen zu "break" zwecks Abbruch?
Ich habe nämlich mal irgendwo gelesen, dass "break" eine etwas unschöne Variante zum Sprung aus einer Schleife ist.
Oben ist die (bisher einzige) Klasse Feld aufgelistet. Falls es irgendwie relevant ist: ich verwende die Entwicklungsumgebung BlueJ unter Windows 7.
Vielen Dank im Voraus!