Zahlenkombination unterscheiden (Java)

05/30/2014 11:42 sven12345#1
PHP Code:
if(this.Einser() == || this.Zweier() == || this.Dreier() == || this.Vierer()== || this.Fuenfer() == || this.Sechser() == 2
Zeigt mir an ob ein Zwilling vorliegt, jedoch möchte ich auch wissen ob 2 Zwillinge vorliegen jedoch wird wenn ich folgendes mache:
PHP Code:
if(this.Einser() == || this.Zweier() == || this.Dreier() == || this.Vierer()== || this.Fuenfer() == || this.Sechser() == 2)&&(this.Einser() == || this.Zweier() == || this.Dreier() == || this.Vierer()== || this.Fuenfer() == || this.Sechser() == 2
Auch bei einem Zwilling angezeigt das 2 vorliegen würden (Klar da beidesmal die Vorraussetzung erfüllt ist)
Wie kann ich dem vorgeben das er den ersten Zwilling sucht und dann quasi den ausschließt und weitersucht bzw. überprüft ob dann noch ein weiterer vorliegt?
05/30/2014 12:15 TeraTroll#2
Zeige doch bitte mal den ganzen Code zu besseren Verständniss =)
05/30/2014 13:15 XxharCs#3
Eine Schleife?
Und erläutere bitte dein Problem etwas genauer und wie TeraTroll sagt, bisschen mehr Code würde gut tuen.
05/30/2014 16:27 sven12345#4
PHP Code:
public int Einser() {                                                     
        
int anzahlEinser 0;
     if (
zahl1 == 1) {
      
anzahlEinser++;
    } 
     if (
zahl2 == 1) {
      
anzahlEinser++;
    } 
     if (
zahl3 == 1) {
      
anzahlEinser++;
    }
     if (
zahl4 == 1) {
      
anzahlEinser++;
    } 
     if (
zahl5 == 1) {
      
anzahlEinser++;
    } 
    return 
anzahlEinser;
    } 
Um die Anzahl der Ziffern zu zählen (hier nur als Bsp für einser)

Und das wäre dann die komplette If- Anweisung um festzustellen welche Kombination vorliegt
PHP Code:
if (this.Einser() == || this.Zweier() == || this.Dreier() == || this.Vierer()== || this.Fuenfer() == || this.Sechser() == 5)
    {
        switch(
PosSpieler){
        case 
1:
        
PSpieler1 fuenfling Integer.parseInt(tfWuerfel1.getText()) +  Integer.parseInt(tfWuerfel2.getText()) + Integer.parseInt(tfWuerfel3.getText()) + Integer.parseInt(tfWuerfel4.getText()) + Integer.parseInt(tfWuerfel5.getText());
        break;
        case 
2:
        
PSpieler2 fuenfling Integer.parseInt(tfWuerfel1.getText()) +  Integer.parseInt(tfWuerfel2.getText()) + Integer.parseInt(tfWuerfel3.getText()) + Integer.parseInt(tfWuerfel4.getText()) + Integer.parseInt(tfWuerfel5.getText());
        break;
        case 
3:
        
PSpieler3 fuenfling Integer.parseInt(tfWuerfel1.getText()) +  Integer.parseInt(tfWuerfel2.getText()) + Integer.parseInt(tfWuerfel3.getText()) + Integer.parseInt(tfWuerfel4.getText()) + Integer.parseInt(tfWuerfel5.getText());
        break;
        case 
4:
        
PSpieler4 fuenfling Integer.parseInt(tfWuerfel1.getText()) +  Integer.parseInt(tfWuerfel2.getText()) + Integer.parseInt(tfWuerfel3.getText()) + Integer.parseInt(tfWuerfel4.getText()) + Integer.parseInt(tfWuerfel5.getText());
        }
    }
    else
    {
        if(
this.Einser() == || this.Zweier() == || this.Dreier() == || this.Vierer()== || this.Fuenfer() == || this.Sechser() == 4)
        {
            switch(
PosSpieler){
            case 
1:
            
PSpieler1 vierling Integer.parseInt(tfWuerfel1.getText()) +  Integer.parseInt(tfWuerfel2.getText()) + Integer.parseInt(tfWuerfel3.getText()) + Integer.parseInt(tfWuerfel4.getText()) + Integer.parseInt(tfWuerfel5.getText());
            break;
            case 
2:
            
PSpieler2 vierling Integer.parseInt(tfWuerfel1.getText()) +  Integer.parseInt(tfWuerfel2.getText()) + Integer.parseInt(tfWuerfel3.getText()) + Integer.parseInt(tfWuerfel4.getText()) + Integer.parseInt(tfWuerfel5.getText());
            break;
            case 
3:
            
PSpieler3 vierling Integer.parseInt(tfWuerfel1.getText()) +  Integer.parseInt(tfWuerfel2.getText()) + Integer.parseInt(tfWuerfel3.getText()) + Integer.parseInt(tfWuerfel4.getText()) + Integer.parseInt(tfWuerfel5.getText());
            break;
            case 
4:
            
PSpieler4 vierling Integer.parseInt(tfWuerfel1.getText()) +  Integer.parseInt(tfWuerfel2.getText()) + Integer.parseInt(tfWuerfel3.getText()) + Integer.parseInt(tfWuerfel4.getText()) + Integer.parseInt(tfWuerfel5.getText());
            break;
            }
        }
        else
        {
            if((
this.Einser() == || this.Zweier() == || this.Dreier() == || this.Vierer()== || this.Fuenfer() == || this.Sechser() == 3) && (this.Einser() == || this.Zweier() == || this.Dreier() == || this.Vierer()== || this.Fuenfer() == || this.Sechser() == 2))
                    {
                switch(
PosSpieler){
                case 
1:
                
PSpieler1 fullhouse Integer.parseInt(tfWuerfel1.getText()) +  Integer.parseInt(tfWuerfel2.getText()) + Integer.parseInt(tfWuerfel3.getText()) + Integer.parseInt(tfWuerfel4.getText()) + Integer.parseInt(tfWuerfel5.getText());
                break;
                case 
2:
                
PSpieler2 fullhouse Integer.parseInt(tfWuerfel1.getText()) +  Integer.parseInt(tfWuerfel2.getText()) + Integer.parseInt(tfWuerfel3.getText()) + Integer.parseInt(tfWuerfel4.getText()) + Integer.parseInt(tfWuerfel5.getText());
                break;
                case 
3:
                
PSpieler3 fullhouse Integer.parseInt(tfWuerfel1.getText()) +  Integer.parseInt(tfWuerfel2.getText()) + Integer.parseInt(tfWuerfel3.getText()) + Integer.parseInt(tfWuerfel4.getText()) + Integer.parseInt(tfWuerfel5.getText());
                break;
                case 
4:
                
PSpieler4 fullhouse Integer.parseInt(tfWuerfel1.getText()) +  Integer.parseInt(tfWuerfel2.getText()) + Integer.parseInt(tfWuerfel3.getText()) + Integer.parseInt(tfWuerfel4.getText()) + Integer.parseInt(tfWuerfel5.getText());
                break;
                }    
            }
            else
            {
                if((
this.Einser() == && this.Zweier() == && this.Dreier() == && this.Vierer()== && this.Fuenfer() == ) || (this.Zweier() == && this.Dreier() == && this.Vierer()== && this.Fuenfer() == && this.Sechser() == 1)) 
                {
                    switch(
PosSpieler){
                    case 
1:
                    
PSpieler1 strasse Integer.parseInt(tfWuerfel1.getText()) +  Integer.parseInt(tfWuerfel2.getText()) + Integer.parseInt(tfWuerfel3.getText()) + Integer.parseInt(tfWuerfel4.getText()) + Integer.parseInt(tfWuerfel5.getText());
                    break;
                    case 
2:
                    
PSpieler2 strasse Integer.parseInt(tfWuerfel1.getText()) +  Integer.parseInt(tfWuerfel2.getText()) + Integer.parseInt(tfWuerfel3.getText()) + Integer.parseInt(tfWuerfel4.getText()) + Integer.parseInt(tfWuerfel5.getText());
                    break;
                    case 
3:
                    
PSpieler3 strasse Integer.parseInt(tfWuerfel1.getText()) +  Integer.parseInt(tfWuerfel2.getText()) + Integer.parseInt(tfWuerfel3.getText()) + Integer.parseInt(tfWuerfel4.getText()) + Integer.parseInt(tfWuerfel5.getText());
                    break;
                    case 
4:
                    
PSpieler4 strasse Integer.parseInt(tfWuerfel1.getText()) +  Integer.parseInt(tfWuerfel2.getText()) + Integer.parseInt(tfWuerfel3.getText()) + Integer.parseInt(tfWuerfel4.getText()) + Integer.parseInt(tfWuerfel5.getText());
                    break;
                    }
                }
                else
                {
                    if(
this.Einser() == || this.Zweier() == || this.Dreier() == || this.Vierer()== || this.Fuenfer() == || this.Sechser() == 3)
                    {
                        switch(
PosSpieler){
                        case 
1:
                        
PSpieler1 drillinge Integer.parseInt(tfWuerfel1.getText()) +  Integer.parseInt(tfWuerfel2.getText()) + Integer.parseInt(tfWuerfel3.getText()) + Integer.parseInt(tfWuerfel4.getText()) + Integer.parseInt(tfWuerfel5.getText());
                        break;
                        case 
2:
                        
PSpieler2 drillinge Integer.parseInt(tfWuerfel1.getText()) +  Integer.parseInt(tfWuerfel2.getText()) + Integer.parseInt(tfWuerfel3.getText()) + Integer.parseInt(tfWuerfel4.getText()) + Integer.parseInt(tfWuerfel5.getText());
                        break;
                        case 
3:
                        
PSpieler3 drillinge Integer.parseInt(tfWuerfel1.getText()) +  Integer.parseInt(tfWuerfel2.getText()) + Integer.parseInt(tfWuerfel3.getText()) + Integer.parseInt(tfWuerfel4.getText()) + Integer.parseInt(tfWuerfel5.getText());
                        break;
                        case 
4:
                        
PSpieler4 drillinge Integer.parseInt(tfWuerfel1.getText()) +  Integer.parseInt(tfWuerfel2.getText()) + Integer.parseInt(tfWuerfel3.getText()) + Integer.parseInt(tfWuerfel4.getText()) + Integer.parseInt(tfWuerfel5.getText());
                        break;
                        }
                    }
                    else
                    {
                        if((
this.Einser() == || this.Zweier() == || this.Dreier() == || this.Vierer()== || this.Fuenfer() == || this.Sechser() == 2) && (this.Einser() == || this.Zweier() == || this.Dreier() == || this.Vierer()== || this.Fuenfer() == || this.Sechser() == 5))
                        {
                            switch(
PosSpieler){
                            case 
1:
                            
PSpieler1 zzwillinge Integer.parseInt(tfWuerfel1.getText()) +  Integer.parseInt(tfWuerfel2.getText()) + Integer.parseInt(tfWuerfel3.getText()) + Integer.parseInt(tfWuerfel4.getText()) + Integer.parseInt(tfWuerfel5.getText());
                            break;
                            case 
2:
                            
PSpieler2 zzwillinge Integer.parseInt(tfWuerfel1.getText()) +  Integer.parseInt(tfWuerfel2.getText()) + Integer.parseInt(tfWuerfel3.getText()) + Integer.parseInt(tfWuerfel4.getText()) + Integer.parseInt(tfWuerfel5.getText());
                            break;
                            case 
3:
                            
PSpieler3 zzwillinge Integer.parseInt(tfWuerfel1.getText()) +  Integer.parseInt(tfWuerfel2.getText()) + Integer.parseInt(tfWuerfel3.getText()) + Integer.parseInt(tfWuerfel4.getText()) + Integer.parseInt(tfWuerfel5.getText());
                            break;
                            case 
4:
                            
PSpieler4 zzwillinge Integer.parseInt(tfWuerfel1.getText()) +  Integer.parseInt(tfWuerfel2.getText()) + Integer.parseInt(tfWuerfel3.getText()) + Integer.parseInt(tfWuerfel4.getText()) + Integer.parseInt(tfWuerfel5.getText());
                            break;
                            }
                        }
                        else
                        {
                            if(
this.Einser() == || this.Zweier() == || this.Dreier() == || this.Vierer()== || this.Fuenfer() == || this.Sechser() == 2)
                            {
                                switch(
PosSpieler){
                                case 
1:
                                
PSpieler1 zwilling Integer.parseInt(tfWuerfel1.getText()) +  Integer.parseInt(tfWuerfel2.getText()) + Integer.parseInt(tfWuerfel3.getText()) + Integer.parseInt(tfWuerfel4.getText()) + Integer.parseInt(tfWuerfel5.getText());
                                break;
                                case 
2:
                                
PSpieler2 zwilling Integer.parseInt(tfWuerfel1.getText()) +  Integer.parseInt(tfWuerfel2.getText()) + Integer.parseInt(tfWuerfel3.getText()) + Integer.parseInt(tfWuerfel4.getText()) + Integer.parseInt(tfWuerfel5.getText());
                                break;
                                case 
3:
                                
PSpieler3 zwilling Integer.parseInt(tfWuerfel1.getText()) +  Integer.parseInt(tfWuerfel2.getText()) + Integer.parseInt(tfWuerfel3.getText()) + Integer.parseInt(tfWuerfel4.getText()) + Integer.parseInt(tfWuerfel5.getText());
                                break;
                                case 
4:
                                
PSpieler4 zwilling Integer.parseInt(tfWuerfel1.getText()) +  Integer.parseInt(tfWuerfel2.getText()) + Integer.parseInt(tfWuerfel3.getText()) + Integer.parseInt(tfWuerfel4.getText()) + Integer.parseInt(tfWuerfel5.getText());
                                break;
                                }
                            }
                            else
                            {
                                switch(
PosSpieler){
                                case 
1:
                                
PSpieler1 Integer.parseInt(tfWuerfel1.getText()) +  Integer.parseInt(tfWuerfel2.getText()) + Integer.parseInt(tfWuerfel3.getText()) + Integer.parseInt(tfWuerfel4.getText()) + Integer.parseInt(tfWuerfel5.getText());
                                break;
                                case 
2:
                                
PSpieler2 Integer.parseInt(tfWuerfel1.getText()) +  Integer.parseInt(tfWuerfel2.getText()) + Integer.parseInt(tfWuerfel3.getText()) + Integer.parseInt(tfWuerfel4.getText()) + Integer.parseInt(tfWuerfel5.getText());
                                break;
                                case 
3:
                                
PSpieler3 Integer.parseInt(tfWuerfel1.getText()) +  Integer.parseInt(tfWuerfel2.getText()) + Integer.parseInt(tfWuerfel3.getText()) + Integer.parseInt(tfWuerfel4.getText()) + Integer.parseInt(tfWuerfel5.getText());
                                break;
                                case 
4:
                                
PSpieler4 Integer.parseInt(tfWuerfel1.getText()) +  Integer.parseInt(tfWuerfel2.getText()) + Integer.parseInt(tfWuerfel3.getText()) + Integer.parseInt(tfWuerfel4.getText()) + Integer.parseInt(tfWuerfel5.getText());
                                break;
                                }
                            }
                        }
                    }
                }
            }
        }
    } 
Die Zahlen werden addiert um dann festzustellen wer der 4 Spieler der Gewinner ist
05/30/2014 17:08 TeraTroll#5
Es gibt soweit ich weiß doch auch die möglichkeit den Integer (tfWuerfel1) einfach abzurufen (als Bsp.)

Code:
if(tfWuerfel1(player1)==tfWuerfel1(player2))
{AUSFÜHREN}
Dürfte den ganzen Code eventuell bissl verkleinern.
Du könntest tfWuerfel1-6(?) als Methode mit dem Parameter player1-4 aufrufen.
05/30/2014 17:13 Terreox#6
Es scheint ja um eine Art Würfelspiel zu gehen, soweit ich das jetzt rauslesen konnte.

Eine Möglichkeit, die mir spontan dazu einfällt:

Werte den Wurf anhand eines Arrays o.ä aus.
Wenn ein Spieler seinen Wurf geworfen hat, dann zählst du die einzelnen Würfelaugen und deren Häufigkeit und speicherst beide Werte in einem Array o.ä.:

Beispiel:
Code:
Spieler wirft -> Ergebnis: 1 - 3 - 4 - 1 - 2 - 2
Dann guckst du dir jede Augenzahl an und zählst die Häufigkeit:
Code:
Einser -> 2x
Zweier -> 2x
Dreier -> 1x
Vierer -> 1x
Fünfer -> 0x
Sechser -> 0x
Hinterher kannst du dann einfach durch das Array o.ä. gehen und nach bestimmten Kombinationen suchen. In dem Beispiel gibt es z.B. 2 Zwillinge.
05/30/2014 17:46 XxharCs#7
Ein Array wär hier nicht so dolle. Er müsste das Array jedes mal neu erstellen und befüllen wenn er es größer macht.
Eine Collection aber, wär hier durchaus vom Vorteil.

Speicherst alle Würfe in der Collection und wie schon mein Vorposter sagte (in seinem Fall ist es ein Array, in meinem eine Collection), gehst diese durch und überprüfst.