スロットスタイルのゲーム用に作成しているプログラム/スクリプトについて少し助けが必要です。ランダムに生成された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:
基本的に、コードが使用可能かどうかに基づいて記述されたコードを表示する方法が必要です(ブールデータベース値)使用できないコードは表示したくないので、スクリプトから完全に除外する必要があり、各コードは異なる必要があります勝つ可能性が高く、価値の高いコードが出現する可能性が低く、価値の低いコードが出現する可能性が高くなります。
基本的にこれはスロットのphpバージョンですが、スロットは現在の在庫に基づいています