class Mastermind2 { // Kodierung der Farben static final int ROT = 0; static final int GELB = 1; static final int GRUEN = 2; static final int BLAU = 3; static final int PINK = 4; static final int BRAUN = 5; static final int USED_ZUFALL = -1; static final int USED_VERSUCH = -2; public static void main(String[] args) { int zaehler=0; int schleifenvar=0; int [] zufall; zufall = new int [4]; zufall[0] = (int) (Math.random()*6); Out.print(zufall[0]); zufall[1] = (int) (Math.random()*6); Out.print(zufall[1]); zufall[2] = (int) (Math.random()*6); Out.print(zufall[2]); zufall[3] = (int) (Math.random()*6); Out.println(zufall[3]); Out.println("Rot = 0, gelb = 1, gruen = 2, blau = 3, pink = 4, braun = 5"); do { //zaehler=0; //zaehler++; Out.print("Bitte 4 Zahlen durch Leerzeichen getrennt eingeben: "); // versuch = Nutzereingabe int [] versuch; versuch = new int [4]; versuch[0] = In.readInt(); versuch[1] = In.readInt(); versuch[2] = In.readInt(); versuch[3] = In.readInt(); Out.print("Wertung: "); // Zunaechst schwarz-Ergebnisse bestimmen. Bei Uebereinstimmung // die Figuren als "verbraucht" kennzeichnen, damit sie nicht später // erneut für weiss-Treffer genutzt werden. if (versuch[0] == zufall[0]) { Out.print("Schwarz "); zufall[0] = USED_ZUFALL; versuch[0] = USED_VERSUCH; } if (versuch[1] == zufall[1]) { Out.print("Schwarz "); zufall[1] = USED_ZUFALL; versuch[1] = USED_VERSUCH; } if (versuch[2] == zufall[2]) { Out.print("Schwarz "); zufall[2] = USED_ZUFALL; versuch[2]= USED_VERSUCH; } if (versuch[3] == zufall[3]) { Out.print("Schwarz "); zufall[3] = USED_ZUFALL; versuch[3] = USED_VERSUCH; } // Nun weiss-Ergebnisse bestimmen. Wegen der if-else-Struktur ist es // nicht notwendig, die versuch-Werte auf verbraucht zu setzen. if (versuch[0] == zufall[1]) { Out.print("Weiss "); zufall[1] = USED_ZUFALL; } else if (versuch[0] == zufall[2]) { Out.print("Weiss "); zufall[2] = USED_ZUFALL; } else if (versuch[0] == zufall[3]) { Out.print("Weiss "); zufall[3] = USED_ZUFALL; } if (versuch[1] == zufall[0]) { Out.print("Weiss "); zufall[0] = USED_ZUFALL; } else if (versuch[1] == zufall[2]) { Out.print("Weiss "); zufall[2] = USED_ZUFALL; } else if (versuch[1] == zufall[3]) { Out.print("Weiss "); zufall[3] = USED_ZUFALL; } if (versuch[2] == zufall[0]) { Out.print("Weiss "); zufall[0] = USED_ZUFALL; } else if (versuch[2]== zufall[1]) { Out.print("Weiss "); zufall[1] = USED_ZUFALL; } else if (versuch[2] == zufall[3]) { Out.print("Weiss "); zufall[3] = USED_ZUFALL; } Out.println(); schleifenvar=versuch[0]+versuch[1]+versuch[2]+versuch[3]; zaehler+=1; } while (schleifenvar>-8); Out.println("Glueckwunsch: Erraten nach "+ zaehler +" Runden"); Out.print("Loesungsmuster: "); for (int i=0; i<=3; i++) { switch(zufall[i]) { case 0: Out.print("Rot (0) "); break; case 1: Out.print("Gelb (1) "); break; case 2: Out.print("Gruen (2) "); break; case 3: Out.print("Blau (3) "); break; case 4: Out.print("Pink (4) "); break; case 5: Out.print("Braun (5) "); break; } } } }