好吧,这让我很头疼。主要是因为我把自己推向了深渊。
在短;玩家对房子下注玩"花扑克"(与乐趣的钱),我已经有了一切需要显示的结果,在,满房子,两个一种等等。但是我不能分配一个变量来控制用户得到的分数,以及房子得到的分数。因此,无法比较他们通过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));