### 抽選プログラム ### drawlist.txt は抽選対象者(1回戦勝者)のリスト。 ### 抽選対象者の多い作品順(同数ならば作品名の五十音順)に並べる。 ### 作品内では名前の五十音順に並べる。 ### random1.txt, random2.txt は数字のリスト。 ### 0〜10000くらいの範囲で、念のため抽選対象者数×3くらい用意する。 ### 「失敗」が出たら、random1.txt の上5つを取り除いて再度実行する。 ### 同率通過の追加分はE2d, F2d, G2d, H2d, E3d, F3d, G3d, H3d の順で入れる。 ### ブロック分け このブロック内に同一作品は入らない $block = 1; $s1 = 'E'; for($i=0; $i<4; $i++) { for($j=1; $j<5; $j++) { $s2 = 'a'; for($k=0; $k<3; $k++) { $str = $s1 . $j . $s2; $box{$str} = $block; $s2++; } $block++; } $s1++; } ### 追加分 $box{"E2d"} = 2; ### シードの読み込み %name = ("E1a" => "カルラ@うたわれるもの", "E4c" => "赤ずきん@おとぎ銃士 赤ずきん", "F1a" => "金城奈々穂@極上生徒会", "F4c" => "竜宮レナ@ひぐらしのなく頃に", "G1a" => "神尾観鈴@AIR IN SUMMER", "G4c" => "南都夜々@ストロベリー・パニック", "H1a" => "アリシア・フローレンス@ARIAシリーズ", "H4c" => "水銀燈@ローゼンメイデン トロイメント" ); ### 抽選 open(DL, "drawlist.txt"); open(RL1, "random1.txt.old"); open(RL2, "random2.txt.old"); while(