これは 1から100までの乱数を返しますが 条件付き乱数となっており 前回に出た数値±25の範囲にある数値は返しません また、前回100の近くが選ばれたなら 1の近くも次の抽選では対象外となります 逆も同様です これで1や100の近くに偏るということは少なくなるでしょう (@abeeさんのコメントより 「1から100までの範囲で10000回試行してみました。大きな偏りがあるようです。 https://u.cubeupload.com/abee2/chart.png」 原作のコメント欄参照) グラフ 左が1右が100です 赤色は直前に選ばれた数です(次回抽選対象外) 青色は次回抽選対象外です 次回抽選対象です 変数「高速」を1にすると高速化できます ただし、グラフの色の変化が最小限になります (目がちかちかするため)
一番最初の抽選結果は除外なし乱数です その値によって偏りがありそうな気もします それを確認するだけのアタマはない プログラムは@abeeさんの https://scratch.mit.edu/projects/1380661836/ の簡略化方法を参考にしました ヲタク語り↓ ひと目見て思ったのは 「テトリス」の抽選方法に似ているなということです パズルゲームの「テトリス」では 上から落ちてくるピース(「テトリミノ」「ミノ」) の種類を抽選するとき 昔は条件なしのランダムだったため ときには同じミノが3回以上連続で落ちてくる なんてこともあったようです しかし、現在ではミノの抽選で偏りがないように 工夫されています 以下にその仕組を解説してみます↓ 補足:ミノは7種類です 7BS―7 Bag System 近年もっとも一般的な抽選方法で 一度出たミノはしばらく抽選除外され 7種類すべてのミノが選ばれたら 抽選除外が解除されて また選ばれたミノは抽選除外され…… を繰り返します 日本語では7種一巡の法則といい 7回ミノが抽選されるごとに 7種のミノの当選回数が 均等になるという利点があります 連続当選もそこそこ出ますが 最大2回までなので快適に遊べます IRM―Initialize Random Mino 「TGMシリーズ」の作品で使われています 「TGMシリーズ」とはテトリスのゲームの種類です 直前4回に出たミノが抽選された場合は 一定回数まで抽選をやり直すというシステムです 7BSがなかった頃(昔)に生まれました 他にも最初のミノは 置きづらいミノが抽選されないといった 補正も存在するようです 現在でも「TGMシリーズ」の作品では ゲームモードによって適用されます こういった補正は、連続ではずれが出て 理不尽を感じないようにするには有効かもしれませんが 「上振れ」が発生しないと意味がないとき 例えばサイコロを振って何度も連続で6を出す みたいなことに向いてる補正ではないでしょう 次回:極限ゲー、確率論