rendered paste bodyclass 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;
}
}
}
}