1

私は宇宙関連のゲームを構築していますが、パーセンテージの「スポーン」チャンスの配列をループして、特定のサイズの星を 1 つ生成する方法がわかりません。

生成方法の例:

$star_chance = rand(1,100);
$star_size_chance = rand(1,100);
//loop through the list of stars here
//selected star - orange
    //loop through the size chances of star orange
    //selected star size = medium
  1. 赤、オレンジ、黄色の星にはそれぞれスポーンチャンスがあり、一度にスポーンできるのは 1 つだけです
  2. スポーンした星ごとに、それがどのくらいの大きさになるかの可能性があります
  3. 方程式は、おそらくより多くの星またはサイズに対応する必要があります

    $star_array = array(
    "red" => array(
        "spawn_chance" => "25",
        "size_immense_chance" => "50",
        "size_giant_chance" => "25",
        "size_large_chance" => "15",
        "size_medium_chance" => "5",
        "size_small_chance" => "4",
        "size_dwarf_chance" => "1"
        ),
    "orange" => array(
        "spawn_chance" => "50",
        "size_immense_chance" => "4",
        "size_giant_chance" => "15",
        "size_large_chance" => "50",
        "size_medium_chance" => "25",
        "size_small_chance" => "6",
        "size_dwarf_chance" => "0"
        ),
    "yellow" => array(
        "spawn_chance" => "25",
        "size_immense_chance" => "0",
        "size_giant_chance" => "6",
        "size_large_chance" => "25",
        "size_medium_chance" => "50",
        "size_small_chance" => "15",
        "size_dwarf_chance" => "4",
        )
    );
    
4

1 に答える 1

1

次のような問題はありません。

$star_array;

foreach($star_array as $chances_array) {
  foreach($chances_array as $chance) {
    // do sth
  }
}

キーが必要な場合は、次を使用できます。

$star_array;

foreach($star_array as $star => $chances_array) {
  foreach($chances_array as $chance_name => $chance_percentage) {
    // do sth
  }
}
于 2013-02-15T04:20:40.877 に答える