2013-04-27 308 views
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在&设置counting1功能$ hostscore它不允许我去访问它的第二个代码框中所以我不能比较分数及规则赢家计数。

+0

编辑:这是不固定的,我还是不能设置$ userscore或$ hostscore如果我尝试将其设置在//查找表还算可以吧”在函数之外访问。 – user2305310 2013-04-27 23:53:02

+0

请先考虑问题 – hek2mgl 2013-04-27 23:53:29

+0

我还没有修复它。我以为它会这样做。 – user2305310 2013-04-27 23:58:06

回答

1

由于名称为“Variable scope”,因此无法访问这些变量。

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

因此,假设您将分配$得分变量,你只需要添加

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)); 
+0

非常感谢。回答:) – user2305310 2013-04-28 00:06:06