class Mastermind { // Kodierung der Farben static final int RED = 0; static final int YELLOW = 1; static final int GREEN = 2; static final int BLUE = 3; static final int PINK = 4; static final int BROWN = 5; static final int USED_GOAL = -1; static final int USED_TRY = -2; public static void main(String[] args) { // goal = zu erratendes Muster int goal1 = BLUE; int goal2 = PINK; int goal3 = BLUE; Out.println("Rot = 0, gelb = 1, gruen = 2, blau = 3, pink = 4, braun = 5"); Out.print("Bitte Zahlen durch Leerzeichen getrennt eingeben: "); // myTry = Nutzereingabe int myTry1 = In.readInt(); int myTry2 = In.readInt(); int myTry3 = 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 (myTry1 == goal1) { Out.print("Schwarz "); goal1 = USED_GOAL; myTry1 = USED_TRY; } if (myTry2 == goal2) { Out.print("Schwarz "); goal2 = USED_GOAL; myTry2 = USED_TRY; } if (myTry3 == goal3) { Out.print("Schwarz "); goal3 = USED_GOAL; myTry3 = USED_TRY; } // Nun weiss-Ergebnisse bestimmen. Wegen der if-else-Struktur ist es // nicht notwendig, die myTry-Werte auf verbraucht zu setzen. if (myTry1 == goal2) { Out.print("Weiss "); goal2 = USED_GOAL; } else if (myTry1 == goal3) { Out.print("Weiss "); goal3 = USED_GOAL; } if (myTry2 == goal1) { Out.print("Weiss "); goal1 = USED_GOAL; } else if (myTry2 == goal3) { Out.print("Weiss "); goal3 = USED_GOAL; } if (myTry3 == goal1) { Out.print("Weiss "); goal1 = USED_GOAL; } else if (myTry3 == goal2) { Out.print("Weiss "); goal2 = USED_GOAL; } Out.println(); } }