user2305310
user2305310

Reputation: 95

comparing $variables to achieve a score

Okay, this is screwing my head up. Mainly because I'm throwing myself in the deep end.

In short; players bet against the house playing "flower poker" ( with fun money ) I've got everything required to show the results as in, full house, two of a kind etc etc.. But I cannot assign a variable to control the score of what the user gets, and what the house gets. Thus not being able to compare them to update their fun money through mySQL.

What I have so far. This compares the randoms from the next part to give the results.

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;
}

This is what happens after they press the bet button.

    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>';
                }
            }
        }
    }   
}

If I try to set the $userscore in counting & set the $hostscore in counting1 functions it doesn't allow me to access it in the 2nd code box therefore I cannot compare the scores and rule a winner.

Upvotes: 0

Views: 64

Answers (1)

parnas
parnas

Reputation: 723

You can't access those variables because of the thing called "Variable scope".

But in your case overcoming that obstacle is very easy, you functions just need to return values.

So, assuming you will assign $score variable, you just need to add

return $score;

as the last line in your function.

Then in your second code box - change

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

to

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

And then do the same thing for the $hostscore.

Actually, you do not even need two functions to count user and host score separately. Leave just one and call it two times like that:

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

Upvotes: 1

Related Questions