Hallo!
Ich komme bei meinem Quelltext nicht weiter... ich glaube ich hab meinen Gedanken dazu etwas verquert.
Der Kern meines Problems: ziehen ohne zurücklegen.
Hier der (unfertige) Code:
Ich möchte, dass die Schleife erst dann wiederholt, wenn alle Werte überprüft sidn und sich eine Übereinstimmung ergeben hat. Wenn alle Werte keine Übereinstimmung zeigen soll die Schleife beenden und die Methode verlassen werden.
Gruß
k3ltis
Ich komme bei meinem Quelltext nicht weiter... ich glaube ich hab meinen Gedanken dazu etwas verquert.
Der Kern meines Problems: ziehen ohne zurücklegen.
Hier der (unfertige) Code:
Java:
...
byte gezogeneKarten[] ={-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1};//In diesem Array werden die bereits gezogenen Karten gespeichert. Dabei sind die ersten 8 Stellen für die Spielerkarten und die zweiten 8 Stellen für die Gegnerkarten reserviert; -1 bedeutet der Platz ist nicht belegt.
...
public static byte zieheKarte(byte gezogeneKarten[]){ //Methode zum vergleichen einer neu gezogenen Karte und einer bereits gezogenen.
byte zahl;
boolean status=true;
do{
zahl = (byte)gibZufallszahl(52); //in "zahl" wird eine Zufällige Karte gespeichert
for (int i=0; i<gezogeneKarten.length; i++){
if (gezogeneKarten[i] != zahl){status = false;}
else if (gezogeneKarten[i] == zahl){status = true;}
}
}while(status);
/*Das eigentliche Problem ist diese do{...}while(...); Schleife. Es sollen alle Inhalte des
*Arrays gezogeneKarten() mit der Zufällig bestimmten Zahl verglichen werden und im Falle
*einer Übereinstimmung soll die Schleife wiederholt werden.
*Das Problem ist offensichtlich: Durch die if(...) Abfrage wird der status einfach über-
*schrieben.
*/
return zahl;
}
Ich möchte, dass die Schleife erst dann wiederholt, wenn alle Werte überprüft sidn und sich eine Übereinstimmung ergeben hat. Wenn alle Werte keine Übereinstimmung zeigen soll die Schleife beenden und die Methode verlassen werden.
Gruß
k3ltis
Zuletzt bearbeitet: