-1

スーツと数字がランダムに選択された数字とスイートに一致する場合にのみカードを表示する小さなゲームを作成しています。コードは次のとおりです。

<?php



$suite['heart'] = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13);
$suite['spade'] = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13);
$suite['diamond'] = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13);
$suite['club'] = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13);

    $suit1 = array_rand($suite);
    $suit2 = array_rand($suite); 

    $card1 = array_rand($suite[$suit1]);
    $card2 = array_rand($suite[$suit2]);

    $card_1 = $suite[$suit1][$card1];
    $card_2 = $suite[$suit2][$card2];

    function jqk($n){
            if($n == 11 && $suit1 == 'club'){
                  return "<img src='img/clubs_J.png'>";
                } else{
                  return "J";
                }


            else if ($n==12){
                return 'Q';
            }
            else if ($n==13){
                return 'K';
            } else {
            return $n;
            }
        }

    if($card_1 <= $card_2){
            $lowcard = $card_1;
            print "The Low Card is ".jqk($lowcard)."<br />";
        } elseif ($card_1 >= $card_2){
            $highcard = $card_1;

            print "The High Card ".jqk($highcard)."<br />";
        }

        if($card_1 <= $card_2){
            $highcard = $card_2;

            print "The High Card is ".jqk($highcard)."<br />";
        } elseif ($card_1 >= $card_2){
            $lowcard = $card_2;

            print "The Low Card ".jqk($lowcard)."<br />";
        }

?>

私の問題は、出力が $suit1 のチェックをバイパスし、11 に一致するすべての数字が画像を表示することです。前もって感謝します

4

1 に答える 1

0

あなたのjqk()機能に問題があります。どうすればその機能を実行できるのだろうか。ここに構文エラーがあります

else if ($n==12){ //else pops in without if

代わりにこれを試してください:

function jqk($n){
      global $suit1;            
      if( $n == 11 ){
        if( $suit1 == 'club' ){
          return "<img src='img/clubs_J.png'>";
        } else{                
          return "J";
        }
      } else if ( $n == 12 ){
        return 'Q';
      } else if ( $n == 13 ){
        return 'K';
      } else {
        return $n;
     }
}
于 2013-09-18T04:52:31.447 に答える