Hey,
wir müssen als Hausaufgabe das Spiel Mastermind machen. Dabei denkt sich der PC eine 4-stellige Kombination aus 6 Farben aus, und man muss diese innerhalb von 10 Versuchen erraten. Der PC gibt einem dabei, nach jedem Versuch eine Rückmeldung, indem er für einen gesetzten "Stein" mit richtiger Position und richtiger Farbe einen schwarzen Punkt gibt, und für eine richtige Farbe mit falscher Position einen weißen Punkt. (Hoffe man kanns einigermaßen verstehen
).
Ich arbeite gerade an der Rückmeldung des PCs. Dabei habe ich das Problem, dass der PC wenn eine Farbe doppelt gewählt wird, aber nur einmal vorkommt, einen weißen Punkt wegnimmt, was ja dann wieder stimmt. Wenn man jedoch mehr, als zwei nimmt schreibt der PC einen weißen Punkt zu viel. Ich hoffe ich konnte mein Problem einigermaßen brauchbar vermitteln.
Ich poste hier mal den Quellcode zur Auswertung. Ich hoffe ihr könnt mir helfen, damit der PC richtig zählt
.
Vielen Dank für die Hilfe.
MfG
Johnny
wir müssen als Hausaufgabe das Spiel Mastermind machen. Dabei denkt sich der PC eine 4-stellige Kombination aus 6 Farben aus, und man muss diese innerhalb von 10 Versuchen erraten. Der PC gibt einem dabei, nach jedem Versuch eine Rückmeldung, indem er für einen gesetzten "Stein" mit richtiger Position und richtiger Farbe einen schwarzen Punkt gibt, und für eine richtige Farbe mit falscher Position einen weißen Punkt. (Hoffe man kanns einigermaßen verstehen
Ich arbeite gerade an der Rückmeldung des PCs. Dabei habe ich das Problem, dass der PC wenn eine Farbe doppelt gewählt wird, aber nur einmal vorkommt, einen weißen Punkt wegnimmt, was ja dann wieder stimmt. Wenn man jedoch mehr, als zwei nimmt schreibt der PC einen weißen Punkt zu viel. Ich hoffe ich konnte mein Problem einigermaßen brauchbar vermitteln.
Ich poste hier mal den Quellcode zur Auswertung. Ich hoffe ihr könnt mir helfen, damit der PC richtig zählt
Java:
public void weiter()
{
weiss=0;
schwarz=0;
Zug= Zug+1;
for (int i=0; i<4; i++)
for (int j=0; j<6; j++)
{ Taste[i][j].setzeDeSelect();}
if(Zufallszahl[0]==Spielerzahl[1])
{ weiss=weiss+1; }
if(Zufallszahl[0]==Spielerzahl[2])
{ weiss=weiss+1; }
if(Zufallszahl[0]==Spielerzahl[3])
{ weiss=weiss+1; }
if(Zufallszahl[1]==Spielerzahl[0])
{ weiss=weiss+1; }
if(Zufallszahl[1]==Spielerzahl[2])
{ weiss=weiss+1; }
if(Zufallszahl[1]==Spielerzahl[3])
{ weiss=weiss+1;}
if(Zufallszahl[2]==Spielerzahl[0])
{ weiss=weiss+1; }
if(Zufallszahl[2]==Spielerzahl[1])
{ weiss=weiss+1; }
if(Zufallszahl[2]==Spielerzahl[3])
{ weiss=weiss+1; }
if(Zufallszahl[3]==Spielerzahl[0])
{ weiss=weiss+1; }
if(Zufallszahl[3]==Spielerzahl[1])
{ weiss=weiss+1; }
if(Zufallszahl[3]==Spielerzahl[2])
{ weiss=weiss+1; }
if(Spielerzahl[0]==Zufallszahl[0])
{schwarz=schwarz+1;
weiss=weiss-1;}
if(Spielerzahl[1]==Zufallszahl[1])
{schwarz=schwarz+1;
weiss=weiss-1;}
if(Spielerzahl[2]==Zufallszahl[2])
{schwarz=schwarz+1;
weiss=weiss-1;}
if(Spielerzahl[3]==Zufallszahl[3])
{schwarz=schwarz+1;
weiss=weiss-1;}
}
Vielen Dank für die Hilfe.
MfG
Johnny