比较$变量来获得一个分数


comparing $variables to achieve a score

好吧,这让我很头疼。主要是因为我把自己推向了深渊。

在短;玩家对房子下注玩"花扑克"(与乐趣的钱),我已经有了一切需要显示的结果,在,满房子,两个一种等等。但是我不能分配一个变量来控制用户得到的分数,以及房子得到的分数。因此,无法比较他们通过mySQL更新他们的乐趣钱。

目前为止我所知道的。这将比较下一部分的随机结果,从而给出结果。

function counting(array $array) {
// Input figures
//print_r($array);
// Run the figures twice through the bucket-counter
$firstBuckets = bucketCounter($array);
$secondBuckets = bucketCounter($firstBuckets);
// Ignore counts of 1
array_shift($secondBuckets);
// Output, just need to do the lookup now
//echo ' converts to ';
//print_r($secondBuckets);
//echo "<br />";
//Lookup Table
if ($secondBuckets[0] == 1 && $secondBuckets[1] == 0) {
    echo ' One Pair';
} else if ($secondBuckets[0] == 2) {
    echo ' Two Pair';
} else if ($secondBuckets[1] == 1 && $secondBuckets[0] == 0) {
    echo ' Three of a kind';
} else if ($secondBuckets[0] == 1 && $secondBuckets[1] == 1) {
    echo ' Full House';
} else if ($secondBuckets[2] == 1) {
    echo ' Four of a kind';
} else if ($secondBuckets[3] == 1) {
    echo ' Five of a kind';
}
}
function counting1(array $array) {
// Input figures
//print_r($array);
// Run the figures twice through the bucket-counter
$firstBuckets = bucketCounter($array);
$secondBuckets = bucketCounter($firstBuckets);
// Ignore counts of 1
array_shift($secondBuckets);
// Output, just need to do the lookup now
//echo ' converts to ';
//print_r($secondBuckets);
//echo "<br />";
//Lookup Table
if ($secondBuckets[0] == 1 && $secondBuckets[1] == 0) {
    echo ' One Pair';
} else if ($secondBuckets[0] == 2) {
    echo ' Two Pair';
} else if ($secondBuckets[1] == 1 && $secondBuckets[0] == 0) {
    echo ' Three of a kind';
} else if ($secondBuckets[0] == 1 && $secondBuckets[1] == 1) {
    echo ' Full House';
} else if ($secondBuckets[2] == 1) {
    echo ' Four of a kind';
} else if ($secondBuckets[3] == 1) {
    echo ' Five of a kind';
}
}
/**
 * Bucket counter
*/
function bucketCounter(array $array) {
$result = array(0, 0, 0, 0, 0, );
foreach($array as $value) {
    if ($value > 0) {
        $result[$value - 1]++;
    }
}
return $result;
}

这是他们按下下注按钮后发生的情况。

    if (isset($_POST['play'])) {
    $rand1 = rand(1, 5);$rand2 = rand(1, 5);$rand3 = rand(1, 5);$rand4 = rand(1, 5);$rand5 = rand(1, 5);$rand6 = rand(1, 5);$rand7 = rand(1, 5);$rand8 = rand(1, 5);$rand9 = rand(1, 5);$rand10 = rand(1, 5);
    if ($_POST['bet'] <= $user_data['coins']) {
        if ($_POST['bet'] < 999999999) {
            if ($_POST['bet'] > 0.99) {
                if ($user_data['coins'] > 1) {
                    //$userscore = 0;
                    //$hostscore = 0;
                    //echo $rand1.', '.$rand2.', '.$rand3.', '.$rand4.', '.$rand5;
                    echo '<font size="2">You''ve planted : <br></font>';
                    if ($rand1 === 1) {     echo '<img src="images/Red_flowers.png">';} else if ($rand1 === 2) {echo '<img src="images/Blue_flowers.png">';} else if ($rand1 === 3) {echo '<img src="images/Yellow_flowers.png">';} else if ($rand1 === 4) {echo '<img src="images/Orange_flowers.png">';} else if ($rand1 === 5) {echo '<img src="images/Flowers_(pastel).png">';}
                    if ($rand2 === 1) {     echo '<img src="images/Red_flowers.png">';} else if ($rand2 === 2) {echo '<img src="images/Blue_flowers.png">';} else if ($rand2 === 3) {echo '<img src="images/Yellow_flowers.png">';} else if ($rand2 === 4) {echo '<img src="images/Orange_flowers.png">';} else if ($rand2 === 5) {echo '<img src="images/Flowers_(pastel).png">';}
                    if ($rand3 === 1) {     echo '<img src="images/Red_flowers.png">';} else if ($rand3 === 2) {echo '<img src="images/Blue_flowers.png">';} else if ($rand3 === 3) {echo '<img src="images/Yellow_flowers.png">';} else if ($rand3 === 4) {echo '<img src="images/Orange_flowers.png">';} else if ($rand3 === 5) {echo '<img src="images/Flowers_(pastel).png">';}
                    if ($rand4 === 1) {     echo '<img src="images/Red_flowers.png">';} else if ($rand4 === 2) {echo '<img src="images/Blue_flowers.png">';} else if ($rand4 === 3) {echo '<img src="images/Yellow_flowers.png">';} else if ($rand4 === 4) {echo '<img src="images/Orange_flowers.png">';} else if ($rand4 === 5) {echo '<img src="images/Flowers_(pastel).png">';}
                    if ($rand5 === 1) {     echo '<img src="images/Red_flowers.png">';} else if ($rand5 === 2) {echo '<img src="images/Blue_flowers.png">';} else if ($rand5 === 3) {echo '<img src="images/Yellow_flowers.png">';} else if ($rand5 === 4) {echo '<img src="images/Orange_flowers.png">';} else if ($rand5 === 5) {echo '<img src="images/Flowers_(pastel).png">';}                     
                    //echo '<br>';
                    counting(array($rand1, $rand2, $rand3, $rand4, $rand5));
                    echo ' '.$userscore;
                    echo '<br>';
                    echo '<font size="2">Host planted : <br></font>';
                    if ($rand6 === 1) {     echo '<img src="images/Red_flowers.png">';} else if ($rand6 === 2) {echo '<img src="images/Blue_flowers.png">';} else if ($rand6 === 3) {echo '<img src="images/Yellow_flowers.png">';} else if ($rand6 === 4) {echo '<img src="images/Orange_flowers.png">';} else if ($rand6 === 5) {echo '<img src="images/Flowers_(pastel).png">';}
                    if ($rand7 === 1) {     echo '<img src="images/Red_flowers.png">';} else if ($rand7 === 2) {echo '<img src="images/Blue_flowers.png">';} else if ($rand7 === 3) {echo '<img src="images/Yellow_flowers.png">';} else if ($rand7 === 4) {echo '<img src="images/Orange_flowers.png">';} else if ($rand7 === 5) {echo '<img src="images/Flowers_(pastel).png">';}
                    if ($rand8 === 1) {     echo '<img src="images/Red_flowers.png">';} else if ($rand8 === 2) {echo '<img src="images/Blue_flowers.png">';} else if ($rand8 === 3) {echo '<img src="images/Yellow_flowers.png">';} else if ($rand8 === 4) {echo '<img src="images/Orange_flowers.png">';} else if ($rand8 === 5) {echo '<img src="images/Flowers_(pastel).png">';}
                    if ($rand9 === 1) {     echo '<img src="images/Red_flowers.png">';} else if ($rand9 === 2) {echo '<img src="images/Blue_flowers.png">';} else if ($rand9 === 3) {echo '<img src="images/Yellow_flowers.png">';} else if ($rand9 === 4) {echo '<img src="images/Orange_flowers.png">';} else if ($rand9 === 5) {echo '<img src="images/Flowers_(pastel).png">';}
                    if ($rand10 === 1){     echo '<img src="images/Red_flowers.png">';} else if ($rand10 === 2) {echo '<img src="images/Blue_flowers.png">';} else if ($rand10 === 3) {echo '<img src="images/Yellow_flowers.png">';} else if ($rand10 === 4) {echo '<img src="images/Orange_flowers.png">';} else if ($rand10 === 5) {echo '<img src="images/Flowers_(pastel).png">';}                     
                    //echo '<br>';
                    counting1(array($rand6, $rand7, $rand8, $rand9, $rand10));
                    echo '<br>';
                }
            }
        }
    }   
}

如果我试图设置$userscore计数&在counting1函数中设置$hostscore,它不允许我在第二个代码框中访问它,因此我无法比较分数并判定获胜者。

由于所谓的"变量作用域"你不能访问这些变量。

但是在您的情况下,克服这个障碍很容易,您的函数只需要返回值。

所以,假设你要分配$score变量,你只需要添加
return $score;

作为函数的最后一行。

然后在第二个代码框中-更改

counting(array($rand1, $rand2, $rand3, $rand4, $rand5));

$userscore = counting(array($rand1, $rand2, $rand3, $rand4, $rand5));

然后对$hostscore做同样的事情。

实际上,您甚至不需要两个函数来分别计算用户和主机得分。只留下一个,然后像这样调用两次:

$userscore = counting(array($rand1, $rand2, $rand3, $rand4, $rand5));
$hostscore = counting(array($rand6, $rand7, $rand8, $rand9, $rand10));