Moin,
sitze mal wieder an meiner Hausaufgabe (diesmal habe ich früher angefangen, noch 11 Tage zeit, yay!
), und komme nicht weiter.
Ich soll ein kleines Würfelspiel mit folgenden Regeln programmieren:
1. wenn alle drei Würfel die gleichen Augenzahlen haben, aber keine 6en sind => Gewinn 20€
2. wenn alle 3 Würfel gerade Augenzahlen haben, aber die Augenzahlen sind nicht gleich => Gewinn 10€
3. zwei beliebige Würfel haben gleiche Augenzahl und keine der beiden vorherigen Fälle
ist aufgetreten => Gewinn 6 €
4. keine dieser Fälle => Kein Gewinn
Hier mal der Code bisher:
sitze mal wieder an meiner Hausaufgabe (diesmal habe ich früher angefangen, noch 11 Tage zeit, yay!
Ich soll ein kleines Würfelspiel mit folgenden Regeln programmieren:
1. wenn alle drei Würfel die gleichen Augenzahlen haben, aber keine 6en sind => Gewinn 20€
2. wenn alle 3 Würfel gerade Augenzahlen haben, aber die Augenzahlen sind nicht gleich => Gewinn 10€
3. zwei beliebige Würfel haben gleiche Augenzahl und keine der beiden vorherigen Fälle
ist aufgetreten => Gewinn 6 €
4. keine dieser Fälle => Kein Gewinn
Hier mal der Code bisher:
Java:
public class Wuerfeln {
public static void main(String[] args) {
int zahlw1 = 1;
int zahlw1m = 6;
int maxw1=zahlw1m-zahlw1;
double wuerfel1=Math.random()*maxw1;
wuerfel1 = Math.round(wuerfel1);
wuerfel1 +=zahlw1;
int zahlw2 = 1;
int zahlw2m = 6;
int maxw2=zahlw2m-zahlw2;
double wuerfel2=Math.random()*maxw2;
wuerfel2 = Math.round(wuerfel2);
wuerfel2 +=zahlw2;
int zahlw3 = 1;
int zahlw3m = 6;
int maxw3=zahlw3m-zahlw3;
double wuerfel3=Math.random()*maxw3;
wuerfel3 = Math.round(wuerfel3);
wuerfel3 +=zahlw3;
if ((wuerfel1 == wuerfel2) && (wuerfel2 == wuerfel3))
if (wuerfel1 != 6)
System.out.println("Gewinn 20 Euro!"+'\t'+wuerfel1+'\t'+ wuerfel2+'\t' + wuerfel3);
else
System.out.println("Kein Gewinn!"+'\t'+wuerfel1+'\t'+ wuerfel2+'\t' + wuerfel3);
else
if ((wuerfel1 + wuerfel2 + wuerfel3)/2 >= 1 && wuerfel1 != wuerfel2 && wuerfel2 != wuerfel3)
System.out.println("Gewinn 10 Euro!"+'\t'+wuerfel1+'\t'+ wuerfel2+'\t' + wuerfel3);
else
System.out.println("Kein Gewinn!"+'\t'+wuerfel1+'\t'+ wuerfel2+'\t' + wuerfel3);
if ((wuerfel1 == wuerfel2)||(wuerfel1 == wuerfel3)||(wuerfel2 == wuerfel3))
if //platzhalter
}}[/Java]
Punkt 1: scheint erfüllt zu sein (ausgiebiges testen...).
Punkt 2: hier ist glaube ich ein dicker logikfehler drin was die teilbarkeit durch 2 angeht. hier wäre ein kleiner ansatz fein!
Punkt 3: hier bin ich total ratlos, ob ich überhaupt mit dem "or" zeichen arbeiten kann, und wie ich die nächste Bedingung festlegen kann ( keine der beiden vorherigen Fälle ist aufgetreten)
Zweite Sache ist, wie kriege ich die Kommastellen weg? Sieht nämlich nicht sehr elegant aus!
Ist hier alles i.O. mit den {} Zeichen? Im Script wurde erklärt, dass jede Bedingung mit { anfangen und mit } beendet werden soll? Nur blicke ich schon gar nicht mehr durch wo eine anfängt und wo endet:autsch:
Über kleinere Ansätze wäre ich dankbar. Ich hoffe nicht alles ist totaler bullsh*t, da ich hier knapp 3-4 Stunden dran saß :rtfm:
gruß