料理チャンスSのシミュレーションについて、料理チャンス回数が1日あたり4回、4.5回、5回の場合もシミュレーションしてみたのですが、載せてもいいでしょうか?(画像赤字の部分)
該当記事の執筆者ではないため、念のため他の方(出来れば執筆者の方)にもチェックして頂きたい気持ちがあります
追記:載せ方ですが、そのまま載せると煩雑になる恐れがあるので、赤字の部分のみの表を折り畳みで載せた方がいいかもしれないなと思っています(この辺りももしご意見あればお願いします)
追記2:レシピレベル60の計算も内部的には持っているので載せたい気持ちがあります
const LOOP_NUM = 10000000; const SLV_LIST = [0.04, 0.05, 0.06, 0.07, 0.08, 0.10] for(let mode = 0; mode < 6; mode++) { for(let slv = 0; slv < (mode == 0 ? 1 : 6); slv++) { // 週頭は料理チャンスのスタックは0 let rate = 0; for(let loop = 0; loop < LOOP_NUM; loop++) { let chanceStack = 0; for(let day = 0; day < 7; day++) { for(let i = 0; i < 3; i++) { // mode == 0 の場合は何もしない(料理チャンスなし) if (mode == 1 && i == 0) chanceStack += SLV_LIST[slv]; // mode1:日に1回、朝イチにだけ発動 if (mode == 2) chanceStack += SLV_LIST[slv]; // mode2:毎食前に発動 if (mode == 3) { // mode3:朝イチ2回他1回ずつ発動 if (i == 0) chanceStack += SLV_LIST[slv]; chanceStack += SLV_LIST[slv]; } if (mode == 4) chanceStack += SLV_LIST[slv]*1.5; // mode4:毎食前に1.5回発動 if (mode == 5) { // mode5:朝イチ2回他1.5回ずつ発動 if (i == 0) chanceStack += SLV_LIST[slv]*0.5; chanceStack += SLV_LIST[slv]*1.5; } // 料理チャンスのスタックは最大70% chanceStack = Math.min(chanceStack, 0.7); // 大成功確率は日曜のみ30%、その他は10%、そこに料理チャンス分を加算 let p = (day == 6 ? 0.3 : 0.1) + chanceStack; let rand = Math.random(); if (rand < p) { // 大成功したら日曜は3倍、その他は2倍加算 rate += day == 6 ? 3 : 2; // 料理チャンスのスタックを0に戻す chanceStack = 0; } else { rate++; } } } } console.log(mode, slv + 1, rate / LOOP_NUM); } }
通報 ...
ここに改訂案を作りました。このまま問題が無さそうであれば10/1夕方頃をめどに書き換えたいと思います。
反映終わりました。ありがとうございました。
※ついでにおてブエナジー換算も記載レベルを合わせました