Hallo zusammen,
ich bin an einem Kartenspiel dran und habe ein Denkfehler.
Das Spiel ist ganz einfach immer die höhere Karte gewinnt und im falle von 2 gleich hohen Karten wird eine Karte von jeden Spieler verdeckt auf den Tisch gelegt und und die nächste Karte entscheidet wer den kompletten stapel gewinnt
	
Nun ist mein problem wenn ich 2 gleiche Karten habe dann muss ich ja die 2 gleichen Karten vergleichen welche die Gewinner Karte ist, und da gehts los wie löse ich das am geschicktesten??
Danke im vorraus
					ich bin an einem Kartenspiel dran und habe ein Denkfehler.
Das Spiel ist ganz einfach immer die höhere Karte gewinnt und im falle von 2 gleich hohen Karten wird eine Karte von jeden Spieler verdeckt auf den Tisch gelegt und und die nächste Karte entscheidet wer den kompletten stapel gewinnt
PHP-Code:
	
	
while ($hasWinner != 10)
{
    $arrGewonneneKarten = array();
    $gleicheKarten =  array();
    $karte = array();
    while ($rundenSieger === false)
    {
        if($stechen == 0)
        {
            #$karte = array();
            foreach($arrSpieler as $objSpieler)
            {
                $karte[] =  $objSpieler->getHand()->spielKarte();
                //Überprüfen ob noch Karten auf dem Stapel leigen
                if ($karte[$k] == null) {
                    echo "Spieler $k hat keine Karten mehr!!!!!!";
                }
                $k++;
            }
            $k = 0;
            for($i = 0; $i < $anzSpieler; $i++)
            {
                echo "\n HHHH Spieler $i: $karte[$i] \n";
            }
            $maxKartenWert = $karte[0]->getSpielwert();
            $maxKarteSpieler = $karte[0]->getSpieler();
            $maxKarte = $karte[0];
            $rundenSieger = true;
            $arrGewonneneKarten[] = $maxKarte;
        }
        for($i = 0; $i < $anzSpieler; $i++)
        {
            if ($maxKartenWert < $karte[$i]->getSpielwert())
            {
                $maxKarte = $karte[$i];
                $arrGewonneneKarten[] = $karte[$i];
                $maxKartenWert = $karte[$i]->getSpielwert();
                $maxKarteSpieler = $karte[$i]->getSpieler();
                $gewinner = $karte[$i]->getSpieler();
                if($i < $anzSpieler)
                {
                    $rundenSieger = true;
                }
                $stechen = 0;
            }
            else if ( $maxKartenWert > $karte[$i]->getSpielwert() )
            {
                $arrGewonneneKarten[] = $karte[$i];
                $gewinner = $maxKarteSpieler;
                if($i < $anzSpieler)
                {
                    $rundenSieger = true;
                }
                $stechen = 0;
            }
            else if ($maxKartenWert === $karte[$i]->getSpielwert())
            {
                if($maxKarte == $karte[$i])
                {
                }
                else
                {
                   
                    $gleicheKarten[] = $maxKarte;
                    $gleicheKarten[] = $karte[$i];
                    //Die Verdeckte Karten die der Gewinner gewinnt
                    $maxKarte = $maxKarte->getSpieler()->getHand()->spielKarte();
                    $karte[$i] = $karte[$i]->getSpieler()->getHand()->spielKarte();
                    $gleicheKarten[] = $maxKarte;
                    $gleicheKarten[] = $karte[$i];
                    $maxKarte = $maxKarte->getSpieler()->getHand()->spielKarte();
                    $karte[$i] = $karte[$i]->getSpieler()->getHand()->spielKarte();
                    $maxKartenWert = $maxKarte->getSpielwert();
                    $gleicheKarten[] = $maxKarte;
                    $gleicheKarten[] = $karte[$i];;
                    $arrGewonneneKarten = $arrGewonneneKarten + $gleicheKarten;
                    $gleicheKarten =  array();
                    $stechen = 1;
                    $rundenSieger = false;
                }
            }
        }
    }
    if($stechen == 0 && $rundenSieger = true)
    {
        echo count($arrGewonneneKarten);
        $gewinner->getHand()->nehmKartenAuf($arrGewonneneKarten);
        echo "\n\n Gewinner {$gewinner->getName()}\n";
        $rundenSieger = false;
        $hasWinner++;
    }
} 
Danke im vorraus
 
          
 PHP (konsolen) problem
									
									
									PHP (konsolen) problem
								 Moderator
 Moderator


Kommentar