xloouch
Erfahrenes Mitglied
Hallo zusammen
Ich bin momentan an einem kleinen MasterMind Projekt beschäftigt. Nun gibt es ein kleines Problem bei einer meinen Methoden. Irgendwie zählt es nicht richtig, ich weiss jedoch nicht wieso.
Hier nun mal der Code. Ich werde ihn anschliessend erläutern..
Also der Array ist zB vier Integers lang. Bsp. {1,2,3,4}. Im gameArray[i][0] ist die Vorgabe gespeichert, mit der der eingegeben Array verglichen werden soll. [i] referenziert auf die jeweilige "Zeile" (wenn i=0, dann also auf den Wert 1);
Die erste if-Schleife (die mit dem evaluatedPinsAndColor++ funktioniert auch wunderbar. dort liegt nicht das Problem. Es liegt an der zweiten Schleife. Dort will ich ja jede eingabe mit irgend einem Wert aus dem "vorgegebenen" Array vergleichen. Aber irgendwie gibt mir dies immer einen falschen wert aus, wenn ich zwei mal die gleiche Zahl im Eingabearray habe.. (also {1, 3, 1, 4} aber richtig währe { 1, 3, 4, 1} ) eigentlich sollte es 2 ausgeben bei evalutatedColor. Es gibt mir jedoch immer nur 1 aus..
Kann mir jemand sagen, wieso?
Vielen Dank für eure Hilfe im voraus.
Ich bin momentan an einem kleinen MasterMind Projekt beschäftigt. Nun gibt es ein kleines Problem bei einer meinen Methoden. Irgendwie zählt es nicht richtig, ich weiss jedoch nicht wieso.
Hier nun mal der Code. Ich werde ihn anschliessend erläutern..
Code:
private void calculateUser(int[] userChoise){
evaluatedPinsAndColor=0;
evaluatedColor=0;
int elementCount=userChoise.length;
for(int i=0; i < elementCount; i++){
gameArray[i][doneAttempts]=userChoise[i];
if(gameArray[i][0]==gameArray[i][doneAttempts]){
evaluatedPinsAndColor++;
} else {
for(int j=0; j < elementCount; j++){
if(gameArray[j][doneAttempts]==gameArray[i][0]){
evaluatedColor++;
}
}
}
}
Also der Array ist zB vier Integers lang. Bsp. {1,2,3,4}. Im gameArray[i][0] ist die Vorgabe gespeichert, mit der der eingegeben Array verglichen werden soll. [i] referenziert auf die jeweilige "Zeile" (wenn i=0, dann also auf den Wert 1);
Die erste if-Schleife (die mit dem evaluatedPinsAndColor++ funktioniert auch wunderbar. dort liegt nicht das Problem. Es liegt an der zweiten Schleife. Dort will ich ja jede eingabe mit irgend einem Wert aus dem "vorgegebenen" Array vergleichen. Aber irgendwie gibt mir dies immer einen falschen wert aus, wenn ich zwei mal die gleiche Zahl im Eingabearray habe.. (also {1, 3, 1, 4} aber richtig währe { 1, 3, 4, 1} ) eigentlich sollte es 2 ausgeben bei evalutatedColor. Es gibt mir jedoch immer nur 1 aus..
Kann mir jemand sagen, wieso?
Vielen Dank für eure Hilfe im voraus.