Hallo,
bin gerade dabei ein Würfelspiel zu programmieren. (Poschen)
Kurz zu den Regeln:
Es sind 3 Würfel und es gibt verschiedene Wurf-Varianten.
Wenn man eine 1 würfelt wird die 1 durch 100 ersetzt und mit den anderen 2 Würfelaugen zusammengezählt und ausgegeben. Zum Beispiel: 1-5-3 wäre 108
Wenn man eine 6 würfelt wird die 6 durch 60 ersetzt. Beispiel: 3-5-6 wäre 68
Höchste Summe die man erreichen kann wäre eine 1-1-6 (260)
Es gibt auch noch andere Kombinationen, die höher sind, aber bei diesen hab ich bei meinem Programm noch Probleme, bzw. es gibt sehr oft einfach so 200 aus und ich habe keine Ahnung warum...
Hier mein Programm:
[/QUOTE]
Hab die verschiedenen Bedingungen auf Methoden ausgeweitet, hoffe man versteht das Programm.
Zurück zu meinem Fehler, es gibt sehr oft einfach 200 aus, obwohl gar keine 1 bzw. zwei 1en gewürfelt werden.
Bin um jede Hilfe Dankbar!
bin gerade dabei ein Würfelspiel zu programmieren. (Poschen)
Kurz zu den Regeln:
Es sind 3 Würfel und es gibt verschiedene Wurf-Varianten.
Wenn man eine 1 würfelt wird die 1 durch 100 ersetzt und mit den anderen 2 Würfelaugen zusammengezählt und ausgegeben. Zum Beispiel: 1-5-3 wäre 108
Wenn man eine 6 würfelt wird die 6 durch 60 ersetzt. Beispiel: 3-5-6 wäre 68
Höchste Summe die man erreichen kann wäre eine 1-1-6 (260)
Es gibt auch noch andere Kombinationen, die höher sind, aber bei diesen hab ich bei meinem Programm noch Probleme, bzw. es gibt sehr oft einfach so 200 aus und ich habe keine Ahnung warum...
Hier mein Programm:
Code:
//Gibt die ganzen Posche aus, wie 1-er, 2er usw...
private void posche (int zufallszahl1, int zufallszahl2, int zufallszahl3, javax.swing.JTextField tfeld)
{
if ((zufallszahl1==1)&&(zufallszahl2==1)&&(zufallszahl3==1)||(zufallszahl1==2)&&(zufallszahl2==2)&&(zufallszahl3==2)
||(zufallszahl1==3)&&(zufallszahl2==3)&&(zufallszahl3==3)||(zufallszahl1==4)&&(zufallszahl2==4)&&(zufallszahl3==4)
||(zufallszahl1==5)&&(zufallszahl2==5)&&(zufallszahl3==5)||(zufallszahl1==6)&&(zufallszahl2==6)&&(zufallszahl3==6))
{
tfeld.setText("Posch");
}
}
//Gibt die "Elfer-Variante" aus, bestimmte Kombinationen, die 11 ergeben
private void elfer (int zufallszahl1, int zufallszahl2, int zufallszahl3, javax.swing.JTextField tfeld)
{
if ((zufallszahl1==3)&&(zufallszahl2==3)&&(zufallszahl3==5)||(zufallszahl1==3)&&(zufallszahl2==5)&&(zufallszahl3==3)
||(zufallszahl1==5)&&(zufallszahl2==3)&&(zufallszahl3==3))
{
tfeld.setText("Elfer");
}
}
//Gibt die "Gold-Variante" aus, bestimmte Kombinationen die 12 ergiben
private void gold (int zufallszahl1, int zufallszahl2, int zufallszahl3, javax.swing.JTextField tfeld)
{
if ((zufallszahl1==1)&&(zufallszahl2==5)&&(zufallszahl3==6)||(zufallszahl1==1)&&(zufallszahl2==6)&&(zufallszahl3==5)
||(zufallszahl1==5)&&(zufallszahl2==1)&&(zufallszahl3==6)||(zufallszahl1==5)&&(zufallszahl2==6)&&(zufallszahl3==1)
||(zufallszahl1==6)&&(zufallszahl2==5)&&(zufallszahl3==1)||(zufallszahl1==6)&&(zufallszahl2==1)&&(zufallszahl3==5))
{
tfeld.setText("Gold");
}
}
//Gibt die "Straßen-Varianten" aus, wie 1-2-3, 2-3-4- usw...
private void strassen (int zufallszahl1, int zufallszahl2, int zufallszahl3, javax.swing.JTextField tfeld)
{
if ((zufallszahl1==1)&&(zufallszahl2==2)&&(zufallszahl3==3)||(zufallszahl1==1)&&(zufallszahl2==3)&&(zufallszahl3==2)
||(zufallszahl1==2)&&(zufallszahl2==1)&&(zufallszahl3==3)||(zufallszahl1==2)&&(zufallszahl2==3)&&(zufallszahl3==1)
||(zufallszahl1==3)&&(zufallszahl2==1)&&(zufallszahl3==2)||(zufallszahl1==3)&&(zufallszahl2==2)&&(zufallszahl3==1)
||(zufallszahl1==2)&&(zufallszahl2==4)&&(zufallszahl3==3)||(zufallszahl1==2)&&(zufallszahl2==3)&&(zufallszahl3==4)
||(zufallszahl1==3)&&(zufallszahl2==2)&&(zufallszahl3==4)||(zufallszahl1==3)&&(zufallszahl2==4)&&(zufallszahl3==2)
||(zufallszahl1==4)&&(zufallszahl2==2)&&(zufallszahl3==3)||(zufallszahl1==4)&&(zufallszahl2==3)&&(zufallszahl3==2)
||(zufallszahl1==3)&&(zufallszahl2==4)&&(zufallszahl3==5)||(zufallszahl1==3)&&(zufallszahl2==5)&&(zufallszahl3==4)
||(zufallszahl1==4)&&(zufallszahl2==3)&&(zufallszahl3==5)||(zufallszahl1==4)&&(zufallszahl2==5)&&(zufallszahl3==3)
||(zufallszahl1==5)&&(zufallszahl2==4)&&(zufallszahl3==3)||(zufallszahl1==5)&&(zufallszahl2==3)&&(zufallszahl3==4)
||(zufallszahl1==4)&&(zufallszahl2==5)&&(zufallszahl3==6)||(zufallszahl1==4)&&(zufallszahl2==6)&&(zufallszahl3==5)
||(zufallszahl1==5)&&(zufallszahl2==4)&&(zufallszahl3==6)||(zufallszahl1==5)&&(zufallszahl2==6)&&(zufallszahl3==4)
||(zufallszahl1==6)&&(zufallszahl2==4)&&(zufallszahl3==5)||(zufallszahl1==6)&&(zufallszahl2==5)&&(zufallszahl3==4))
{
tfeld.setText("Straße");
}
}
// Zwei 1en und eine Sechs werden zusammengezählt also insg. 260
private void summeeinsundsechs (int zufallszahl1, int zufallszahl2, int zufallszahl3, javax.swing.JTextField tfeld)
{
int summe;
if (((zufallszahl1==1)&&(zufallszahl2==1)&&(zufallszahl3==6))|| ((zufallszahl1==1)&&(zufallszahl2==6)&&(zufallszahl3==1))
||((zufallszahl1==6)&&(zufallszahl2==1)&&(zufallszahl3==1))||((zufallszahl1==6)&&(zufallszahl2==1)&&(zufallszahl3==1)))
{
System.out.println("Fall 260");
summe = 260;
tfeld.setText(""+summe);
}
}
private void summezweisechsundeineeins (int zufallszahl1, int zufallszahl2, int zufallszahl3, javax.swing.JTextField tfeld)
{
int summe;
if (((zufallszahl1==1)&&(zufallszahl2==6)&&(zufallszahl3==6))||((zufallszahl1==6)&&(zufallszahl2==1)&&(zufallszahl3==6))
||((zufallszahl1==6)&&(zufallszahl2==6)&&(zufallszahl3==1)))
{
System.out.println("Fall 220");
summe = 220;
tfeld.setText(""+summe);
}
}
// 2 1en werden zusammengezählt, also insg. 200
private void sumemvonzweieinsen (int zufallszahl1, int zufallszahl2, int zufallszahl3, javax.swing.JTextField tfeld)
{
System.out.println("Fall 200");
int summe = 200;
if ((zufallszahl1==1)&&(zufallszahl2==1))
summe = zufallszahl3+summe;
else if ((zufallszahl1==1)&&(zufallszahl3==1))
summe = zufallszahl2+summe;
else if ((zufallszahl2==1)&&(zufallszahl3==1))
summe = zufallszahl1+summe;
{
tfeld.setText(""+summe);
}
}
// Würfelzahlen 1 und 6 werden zusammengezählt, also insg. 160
private void summevoneinsundsechs (int zufallszahl1, int zufallszahl2, int zufallszahl3, javax.swing.JTextField tfeld)
{
System.out.println("Fall 160");
int summe = 160;
if ((zufallszahl1==1)&&(zufallszahl3==6))
summe = zufallszahl2+summe;
else if ((zufallszahl1==1)&&(zufallszahl2==6))
summe = zufallszahl3 = summe;
else if ((zufallszahl2==1)&&(zufallszahl3==6))
summe = zufallszahl2 + summe;
else if ((zufallszahl1==6)&&(zufallszahl2==1))
summe = zufallszahl3+summe;
else if ((zufallszahl1==6)&&(zufallszahl3==1))
summe = zufallszahl2 + summe;
else if ((zufallszahl2==6)&&(zufallszahl1==1))
summe = zufallszahl3+160;
{
tfeld.setText(""+summe);
}
}
// Summe von 2 6en wird zusammengezählt, also insg. 120
private void summevonzweisechsen (int zufallszahl1, int zufallszahl2, int zufallszahl3, javax.swing.JTextField tfeld)
{
System.out.println("Fall 120 ");
int summe = 120;
if ((zufallszahl1==6)&&(zufallszahl2==6))
summe = zufallszahl3+summe;
else if ((zufallszahl1==6)&&(zufallszahl3==6))
summe = zufallszahl2+summe;
else if ((zufallszahl2==6)&&(zufallszahl3==6))
summe = zufallszahl1+summe;
tfeld.setText(""+summe);
}
// Würfelzahl 1 wird durch 100 ersetzt
private void zahleinsgleichhundert (int zufallszahl1, int zufallszahl2, int zufallszahl3, javax.swing.JTextField tfeld)
{
System.out.println("Fall 100");
int summe = 100;
if (zufallszahl1==1)
summe = zufallszahl2+zufallszahl3+summe;
else if (zufallszahl2==1)
summe = zufallszahl1+zufallszahl3+summe;
else if (zufallszahl3==1)
summe = zufallszahl1+zufallszahl2+summe;
tfeld.setText(""+summe);
}
//Würfelzahl 6 wird durch 60 ersetzt
private void zahlsechsgleichsechzig (int zufallszahl1, int zufallszahl2, int zufallszahl3, javax.swing. JTextField tfeld)
{
System.out.println("Fall 60");
int summe = 60;
if (zufallszahl1==6)
summe = zufallszahl2+zufallszahl3+summe;
else if (zufallszahl2==6)
summe = zufallszahl1+zufallszahl3+summe;
else if (zufallszahl3==6)
summe = zufallszahl2+zufallszahl1+summe;
{
tfsumme1.setText(""+summe);
}
}
private void spieler1ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
int zufallszahl1, zufallszahl2, zufallszahl3, summe;
// Würfel 1-3
zufallszahl1 = (int) (Math.random()*6)+1;
zufallszahl2 = (int) (Math.random()*6)+1;
zufallszahl3 = (int) (Math.random()*6)+1;
// Summe der 3 Würfel
summe = zufallszahl1+zufallszahl2+zufallszahl3;
tfergebnis1.setText(""+zufallszahl1);
tfergebnis2.setText(""+zufallszahl2);
tfergebnis3.setText(""+zufallszahl3);
tfsumme1.setText(""+summe);
//Die Würfelaugen 6 werden als 60 ausgegeben
zahlsechsgleichsechzig (zufallszahl1,zufallszahl2,zufallszahl3, tfsumme1);
//Die Würfelaugen 1 werden als 100 ausgegeben
zahleinsgleichhundert (zufallszahl1, zufallszahl2, zufallszahl3, tfsumme1);
//Summe mit 2 6en summe 120
summevonzweisechsen (zufallszahl1, zufallszahl2, zufallszahl3, tfsumme1);
//summe von 1&6 summe 160
summevoneinsundsechs (zufallszahl1, zufallszahl2, zufallszahl3,tfsumme1 );
//summe von zwei 1en summe von 200
sumemvonzweieinsen (zufallszahl1, zufallszahl2, zufallszahl3, tfsumme1);
//Summe von zwei 6en und eine 1 summe von 220
summezweisechsundeineeins (zufallszahl1, zufallszahl2, zufallszahl3, tfsumme1);
//Summe mit 6&1 insgesamt summe 260
summeeinsundsechs (zufallszahl1, zufallszahl2,zufallszahl3, tfsumme1);
//Gold
gold(zufallszahl1,zufallszahl2,zufallszahl3, tfsumme1);
//Elfer
elfer (zufallszahl1,zufallszahl2,zufallszahl3, tfsumme1);
//Posche
posche (zufallszahl1,zufallszahl2,zufallszahl3, tfsumme1);
//Straßen
strassen (zufallszahl1,zufallszahl2,zufallszahl3, tfsumme1);
Hab die verschiedenen Bedingungen auf Methoden ausgeweitet, hoffe man versteht das Programm.
Zurück zu meinem Fehler, es gibt sehr oft einfach 200 aus, obwohl gar keine 1 bzw. zwei 1en gewürfelt werden.
Bin um jede Hilfe Dankbar!