* Microsoft Windows NT 10.0.17134.0 * Sakuten/devenv@8bd7d18d72106372d37e24a033673eaa3d2e8d0f * Sakuten/frontend@b330379bf893a2363201cf4e9a64f32f0d911999 * Sakuten/backend@b046134e6aa75cfaa38494c266a730f2563df745 現在の挙動 ------------- 抽選の際、まず複数人応募の当選/落選をさばいてから個人応募に移りますが、複数人応募の段階で以下の状態のチェックを行い、解決します。 1. 当選者が少なすぎて個人応募をすべて当選にしてもWINNERS_NUMに達しない →落選グループをランダムに1つ選び、当選させる 2. 当選者がWINNERS_NUMを超えてしまった →当選グループをランダムに1つ選び、落選させる これら2つが解決されるまで 1. → 2. のループを繰り返しています。 ※すでに全てのグループが当選判定になったにもかかわらず、1. が発生している場合は、そこで打ち切ります。 問題点 ------------- 1. 「ランダムに選ぶ」という過程で、確率変動が考慮されていません。 ~~こちらは現在作業中で、~~ グループの確率を乱択に反映させることができます。 #258 の後にします。 2. WINNERS_NUM = 5とし、3人グループ×2で応募すると、無限ループに陥ります。 これに関しては、実際の運用では個人応募も多いため、考えなくてよいとして現在無視しています。 一応、実際の創作展での運用では、全員当選させるような、応募が少ないケースを除けば、個人応募の数が3を切ることはまずないでしょうから、1. と2. を行ったり来たりするとは考えられません。
現在の挙動
抽選の際、まず複数人応募の当選/落選をさばいてから個人応募に移りますが、複数人応募の段階で以下の状態のチェックを行い、解決します。
→落選グループをランダムに1つ選び、当選させる
→当選グループをランダムに1つ選び、落選させる
これら2つが解決されるまで 1. → 2. のループを繰り返しています。
※すでに全てのグループが当選判定になったにもかかわらず、1. が発生している場合は、そこで打ち切ります。
問題点
「ランダムに選ぶ」という過程で、確率変動が考慮されていません。
こちらは現在作業中で、グループの確率を乱択に反映させることができます。確率変動の幅を劇の倍率によって変える #258 の後にします。
WINNERS_NUM = 5とし、3人グループ×2で応募すると、無限ループに陥ります。
これに関しては、実際の運用では個人応募も多いため、考えなくてよいとして現在無視しています。
一応、実際の創作展での運用では、全員当選させるような、応募が少ないケースを除けば、個人応募の数が3を切ることはまずないでしょうから、1. と2. を行ったり来たりするとは考えられません。