Zahlenkombination unterscheiden (Java)

05/30/2014 11:42 sven12345#1
PHP Code:
if(this.Einser() == 2 || this.Zweier() == 2 || this.Dreier() == 2 || this.Vierer()== 2 || this.Fuenfer() == 2 || 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() == 2 || this.Zweier() == 2 || this.Dreier() == 2 || this.Vierer()== 2 || this.Fuenfer() == 2 || this.Sechser() == 2)&&(this.Einser() == 2 || this.Zweier() == 2 || this.Dreier() == 2 || this.Vierer()== 2 || this.Fuenfer() == 2 || 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() == 5 || this.Zweier() == 5 || this.Dreier() == 5 || this.Vierer()== 5 || this.Fuenfer() == 5 || 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() == 4 || this.Zweier() == 4 || this.Dreier() == 4 || this.Vierer()== 4 || this.Fuenfer() == 4 || 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() == 3 || this.Zweier() == 3 || this.Dreier() == 3 || this.Vierer()== 3 || this.Fuenfer() == 3 || this.Sechser() == 3) && (this.Einser() == 2 || this.Zweier() == 2 || this.Dreier() == 2 || this.Vierer()== 2 || this.Fuenfer() == 2 || 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() == 1 && this.Zweier() == 1 && this.Dreier() == 1 && this.Vierer()== 1 && this.Fuenfer() == 1 ) || (this.Zweier() == 1 && this.Dreier() == 1 && this.Vierer()== 1 && this.Fuenfer() == 1 && 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() == 3 || this.Zweier() == 3 || this.Dreier() == 3 || this.Vierer()== 3 || this.Fuenfer() == 3 || 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() == 2 || this.Zweier() == 2 || this.Dreier() == 2 || this.Vierer()== 2 || this.Fuenfer() == 2 || this.Sechser() == 2) && (this.Einser() == 5 || this.Zweier() == 5 || this.Dreier() == 5 || this.Vierer()== 5 || this.Fuenfer() == 5 || 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() == 2 || this.Zweier() == 2 || this.Dreier() == 2 || this.Vierer()== 2 || this.Fuenfer() == 2 || 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.