public class Meiern extends MiniJava { /** * Implementierung des Spiels Meiern/Mäxchen. * * @param args die Argumente, die dem Programm beim Start über die * Kommandozeile übergegeben werden (beliebig viele Strings); * für uns irrelevant, da wir sie nicht verwenden */ public static void main(String[] args) { // Lokale Variablen deklarieren und initialisieren: int aktuellerSpieler = 0; // 0 = Spieler, 1 = Computer int wurf = 0, vorherigerWurf; // Ergebnis des aktuellen & letzten Wurfs do { // Zweimal würfeln (und in weiteren lokalen Variablen speichern): int wurf1 = dice(); int wurf2 = dice(); // Würfelaugen korrekt kombinieren und als aktuellen Wurf speichern. // Davor den letzten Wurf in eine andere Variable schreiben, um // später zu vergleichen: vorherigerWurf = wurf; // letzten Wurf speichern if (wurf1 >= wurf2) wurf = wurf1 * 10 + wurf2; else wurf = wurf2 * 10 + wurf1; // Ergebnis ausgeben: if (aktuellerSpieler == 0) write("Du würfelst " + wurf + "."); else write("Der Computer würfelt " + wurf + "."); // Rangfolge behandeln: if (wurf1 == wurf2) // => Pasch wurf *= 10; // auf Hunderter schieben für höheren Rang else if (wurf == 21) // => Meier/Mäxchen wurf *= 100; // auf Tausender schieben für höchsten Rang // Spieler wechseln (aus 0 wird 1 und aus 1 wird 0): aktuellerSpieler = 1 - aktuellerSpieler; } while(wurf > vorherigerWurf); // nur weitermachen, wenn mehr geworfen // Gewinner ausgeben: if (aktuellerSpieler == 0) write("Du hast gewonnen."); else write("Der Computer hat gewonnen."); } }