0

我需要一些关于我正在为老虎机风格游戏制作的程序/脚本的帮助,想法是随机生成 3 个数字,每个数字对应于您可以赢得的奖品,奖品数量有限,所以必须检查每个代码(将作为奖品发送)以确保它有库存,如果它没有库存,则不会添加到抽奖中。

到目前为止,我有我的脚本检查代码是否有库存,如果有,它会将数字添加到数组中,然后我将通过开关和大小写进行检查

但我不知道如何设置开关和外壳,我想在“锅”中添加一个设定的数字,然后将其与 3 个随机生成的数字一起使用

$number1 = rand(0,$pot);

但是这样做我将不得不设置一个语句,我将检查每个数字以及它是否在某个范围内,即

if (($number1 > 150) && ($number1 < 349)){
// You win this prize
}
else if (($number 1 > 350) && ($number1 < 499)){
// You win this prize
}
else {
//You win this prize
}

但显然,这种方法只有在所有代码都有库存的情况下才有效,因为如果没有,我会发放我没有的奖品

function generate_numbers(){
global $numbers;
$numbers = array(
    '0' => rand(1,4),
    '1' => rand(1,4),
    '2' => rand(1,4)
);
display_numbers();
}

这会生成当前的数字,但仅适用于 4 个变量,因此代码 a = 1 的值 代码 b = 2 的值等

//SETUP VARIABLES
$num1; $num2; $num3;
//SET VARIABLE VALUES
function setup_variables(){
global $num1, $num2, $num3, $numbers;
    $num1 = $numbers[0];
    $num2 = $numbers[1];
    $num3 = $numbers[2];
    result();
}

这会将数组转换为单个变量,它可能不是建议的方法,但如果需要我可以更改它

function result(){
global $num1, $num2, $num3;
    if ($num1 == $num2 && $num1 == $num3){
        if ($num1 == 1){
            $_SESSION['prize'] = 1;
            header("Location: win.php");
        }
        else if ($num1 == 2){
            $_SESSION['prize'] = 2;
            header("Location: win.php");
        }
        else if ($num1 == 3){
            $_SESSION['prize'] = 3;
            header("Location: win.php");
        }
        else{
            $_SESSION['prize'] = 0;
        }
    }

    else{
        $_SESSION['prize'] = 0;
    }
}

这将检查号码是否匹配,如果匹配,则检查 $num1 是哪个号码,并将其传递给可以使用的奖品$_SESSION['prize']

但正如您所看到的,它适用于单个数字

在下一页上,它只是根据通过 $_SESSION['prize'] 提供的数据查询数据库,该数据等于数据库中的 ItemID,并在屏幕上显示代码 + 通过电子邮件将其发送给获胜者

TLDR:

基本上我想要一种基于代码是否可用(布尔数据库值)来显示书面代码的方法我不想显示不可用的代码,因此它们应该完全从脚本中排除,每个代码应该有不同的获胜的机会,更有价值的代码出现的机会较低,价值较低的代码出现的机会更高。

基本上这是 Slots 的 php 版本,但插槽基于当前库存

4

0 回答 0