0

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

简而言之; 玩家赌庄家玩“花扑克”(用有趣的钱)用户得到什么,房子得到什么。因此无法比较它们以通过 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 并在 count1 函数中设置 $hostscore 它不允许我在第二个代码框中访问它,因此我无法比较分数并判定获胜者。

4

1 回答 1

1

由于称为“变量范围”的东西,您无法访问这些变量。

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

因此,假设您将分配 $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));
于 2013-04-27T23:57:53.760 回答