我需要一些关于我正在为老虎机风格游戏制作的程序/脚本的帮助,想法是随机生成 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 版本,但插槽基于当前库存