【ザ・アンツ】効率の良い中立生物合成経路
効率の良い合成経路が知りたい
毎回100%合成しかしてないけど、巷ではLv差2で合成するのが良いとか聞く。
確立とかわからないので、プログラムで仮想的に100万体合成してコストを求めてみた。
私調べ、最適経路
Lv1 + Lv1 >> Lv2
Lv2 + Lv2 >> Lv3
Lv3 + Lv2 >> Lv4
Lv4 + Lv2 >> Lv5
Lv5 + Lv4 >> Lv6
Lv6 + Lv4 >> Lv7
Lv7 + Lv5 >> Lv8
Lv8 + Lv6 >> Lv9
Lv9 + Lv7 >> Lv10
Lv10 + Lv8 >> Lv11
この手順が一番素体が少なくて済む。
100%合成でLv11まで行くには1024体の素体が必要だけど、
この手順のだと「496.9体」でLv11に到達する。(期待が持てる)
また、中立飼料も全て100%合成した場合は「8,465,040」必要だが、
この手順だと「6,172,039.8」ですむ予定。
ただ、「Lv5 + Lv4 >> Lv6」のところが不自然なので、
調査プログラムにバグがあるかもしれない。
巷で聞くところのLv2差で合成がベスト説を裏付ける結果だった。
調査結果
LV1素体の必要数
合成主Lv2 - 合成従Lv1 でLv3を作る場合、
平均してLv1の素体を4.2体が合成成功期待値。
100万体合成成功するまで素体を加算して平均値を求めた。
合成従 | ||||||||||||
合成後期待Lv | 100%合成時 | 合成主 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
3 | 4 | 2 | 4.2 | 4.0 | ||||||||
4 | 8 | 3 | 8.9 | 7.2 | 8.0 | |||||||
5 | 16 | 4 | 18.2 | 13.2 | 13.7 | 14.4 | ||||||
6 | 32 | 5 | 37.5 | 25.1 | 25.0 | 24.3 | 26.3 | |||||
7 | 64 | 6 | 78.4 | 49.7 | 48.3 | 44.3 | 44.8 | 48.7 | ||||
8 | 128 | 7 | 164.8 | 99.2 | 95.1 | 83.7 | 80.8 | 82.2 | 88.5 | |||
9 | 256 | 8 | 351.0 | 202.3 | 190.9 | 163.4 | 153.3 | 149.1 | 149.4 | 161.7 | ||
10 | 512 | 9 | 736.6 | 420.1 | 391.9 | 327.5 | 301.3 | 284.9 | 271.8 | 274.7 | 298.3 | |
11 | 1,024 | 10 | 1,519.8 | 859.7 | 813.3 | 664.4 | 600.1 | 557.5 | 514.6 | 496.9 | 504.6 | 543.7 |
中立飼料の必要数
合成従 | ||||||||||||
合成後期待Lv | 100%合成時 | 合成主 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
3 | 5,335 | 2 | 4,677.4 | 5,335.0 | ||||||||
4 | 16,430 | 3 | 14,122.5 | 15,338.3 | 16,430.0 | |||||||
5 | 44,860 | 4 | 38,008.2 | 40,081.1 | 40,452.5 | 42,701.1 | ||||||
6 | 115,220 | 5 | 99,683.8 | 102,544.2 | 100,237.0 | 99,235.3 | 105,690.6 | |||||
7 | 283,940 | 6 | 252,678.7 | 256,033.4 | 245,997.1 | 234,732.0 | 235,711.8 | 251,970.6 | ||||
8 | 682,880 | 7 | 636,884.5 | 634,058.0 | 604,106.2 | 567,348.9 | 548,054.8 | 548,384.2 | 584,463.9 | |||
9 | 1,599,760 | 8 | 1,585,476.4 | 1,543,082.8 | 1,454,868.2 | 1,359,358.5 | 1,287,886.8 | 1,246,099.5 | 1,244,794.5 | 1,330,109.7 | ||
10 | 3,705,020 | 9 | 3,889,573.3 | 3,780,660.3 | 3,479,101.4 | 3,242,224.8 | 3,049,220.7 | 2,879,761.1 | 2,777,653.2 | 2,801,620.7 | 2,997,698.9 | |
11 | 8,465,040 | 10 | 9,360,657.3 | 9,112,354.1 | 8,420,647.0 | 7,677,738.4 | 7,151,314.2 | 6,731,824.2 | 6,352,728.5 | 6,172,039.8 | 6,182,796.7 | 6,610,306.3 |
調査スクリプト
失敗して残った分の再利用差分を埋めるところはもう少し改善の余地がある気がする
コストは下がるほうに調整されるはずなのでとりあえずこれで。
/************************************************** 定数 **************************************************/ const C_Debug = false const C_SynTtl = 1000000 //中立作成に必要なLv1素材数 const C_Lv1_Lv1Cst = 1 //Lv 1 const C_Lv2_Lv1Cst = 2 //Lv 2 const C_Lv3_Lv1Cst = 4 //Lv 3 const C_Lv4_Lv1Cst_100p = 8 //Lv 4 const C_Lv5_Lv1Cst_100p = 16 //Lv 5 const C_Lv6_Lv1Cst_100p = 32 //Lv 6 const C_Lv7_Lv1Cst_100p = 64 //Lv 7 const C_Lv8_Lv1Cst_100p = 128 //Lv 8 const C_Lv9_Lv1Cst_100p = 256 //Lv 9 const C_Lv10_Lv1Cst_100p = 512 //Lv10 const C_Lv11_Lv1Cst_100p = 1024 //Lv11 const C_Lv4_Lv1Cst = 7.224 //Lv 4 (4-2 Lv3とLv2を合成) const C_Lv5_Lv1Cst = 13.165 //Lv 5 (5-3 Lv4とLv2を合成) const C_Lv6_Lv1Cst = 24.335 //Lv 6 (6-2 Lv5とLv4を合成) const C_Lv7_Lv1Cst = 44.25 //Lv 7 (7-3 Lv6とLv4を合成) const C_Lv8_Lv1Cst = 80.841 //Lv 8 (8-3 Lv7とLv5を合成) const C_Lv9_Lv1Cst = 149.139 //Lv 9 (9-3 Lv8とLv6を合成) const C_Lv10_Lv1Cst = 271.836 //Lv10 (10-3 Lv9とLv7を合成) //作成コスト(飼料) const C_Feed_1 = 0 const C_Feed_2 = 1300 const C_Feed_3 = 5335 const C_Feed_4_100p = 16430 const C_Feed_5_100p = 44860 const C_Feed_6_100p = 115220 const C_Feed_7_100p = 283940 const C_Feed_8_100p = 682880 const C_Feed_9_100p = 1599760 const C_Feed_10_100p = 3705020 const C_Feed_11_100p = 8465040 const C_Feed_4 = 15350.55 //(4-2 Lv3とLv2を合成) const C_Feed_5 = 40095.298 //(5-3 Lv4とLv2を合成) const C_Feed_6 = 99235.324 //(6-2 Lv5とLv4を合成) const C_Feed_7 = 234731.968 //(7-3 Lv6とLv4を合成) const C_Feed_8 = 548054.837 //(8-3 Lv7とLv5を合成) const C_Feed_9 = 1246099.468 //(9-3 Lv8とLv6を合成) const C_Feed_10 = 2777653.156 //(10-3 Lv9とLv7を合成) //合成コスト(飼料) const C_Feed_1_1 = 1300 const C_Feed_2_1 = 1521 const C_Feed_2_2 = 2735 const C_Feed_3_1 = 1780 const C_Feed_3_2 = 3203 const C_Feed_3_3 = 5760 const C_Feed_4_1 = 2064 const C_Feed_4_2 = 3708 const C_Feed_4_3 = 6673 const C_Feed_4_4 = 12000 const C_Feed_5_1 = 2448 const C_Feed_5_2 = 4386 const C_Feed_5_3 = 7880 const C_Feed_5_4 = 14179 const C_Feed_5_5 = 25500 const C_Feed_6_1 = 2836 const C_Feed_6_2 = 5136 const C_Feed_6_3 = 9202 const C_Feed_6_4 = 16352 const C_Feed_6_5 = 29747 const C_Feed_6_6 = 53500 const C_Feed_7_1 = 3335 const C_Feed_7_2 = 6095 const C_Feed_7_3 = 11040 const C_Feed_7_4 = 19780 const C_Feed_7_5 = 35535 const C_Feed_7_6 = 63941 const C_Feed_7_7 = 115000 const C_Feed_8_1 = 3840 const C_Feed_8_2 = 6960 const C_Feed_8_3 = 12720 const C_Feed_8_4 = 23040 const C_Feed_8_5 = 41280 const C_Feed_8_6 = 74160 const C_Feed_8_7 = 133440 const C_Feed_8_8 = 234000 const C_Feed_9_1 = 4500 const C_Feed_9_2 = 8088 const C_Feed_9_3 = 14500 const C_Feed_9_4 = 26792 const C_Feed_9_5 = 48528 const C_Feed_9_6 = 86000 const C_Feed_9_7 = 154500 const C_Feed_9_8 = 281061 const C_Feed_9_9 = 505500 const C_Feed_10_1 = 5275 const C_Feed_10_2 = 9495 const C_Feed_10_3 = 16880 const C_Feed_10_4 = 30595 const C_Feed_10_5 = 55915 const C_Feed_10_6 = 101280 const C_Feed_10_7 = 181460 const C_Feed_10_8 = 325995 const C_Feed_10_9 = 586580 const C_Feed_10_10 = 1055000 //合成成功率 const C_Diff0_Rate = 100 const C_Diff1_Rate = 45 const C_Diff2_Rate = 20.25 const C_Diff3_Rate = 9.11 const C_Diff4_Rate = 4.10 const C_Diff5_Rate = 1.85 const C_Diff6_Rate = 0.83 const C_Diff7_Rate = 0.37 const C_Diff8_Rate = 0.17 const C_Diff9_Rate = 0.08 /***********************************************************/ function main(){ //Lv差無し100%合成 CalcCost("3-1A" ,C_Lv2_Lv1Cst ,C_Feed_2 ,C_Lv2_Lv1Cst ,C_Feed_2 ,C_Feed_2_2 ,C_Diff0_Rate ,C_Lv1_Lv1Cst ,C_Feed_1) CalcCost("4-1A" ,C_Lv3_Lv1Cst ,C_Feed_3 ,C_Lv3_Lv1Cst ,C_Feed_3 ,C_Feed_3_3 ,C_Diff0_Rate ,C_Lv2_Lv1Cst ,C_Feed_2) CalcCost("5-1A" ,C_Lv4_Lv1Cst_100p ,C_Feed_4_100p ,C_Lv4_Lv1Cst_100p ,C_Feed_4_100p ,C_Feed_4_4 ,C_Diff0_Rate ,C_Lv3_Lv1Cst ,C_Feed_3) CalcCost("6-1A" ,C_Lv5_Lv1Cst_100p ,C_Feed_5_100p ,C_Lv5_Lv1Cst_100p ,C_Feed_5_100p ,C_Feed_5_5 ,C_Diff0_Rate ,C_Lv4_Lv1Cst_100p ,C_Feed_4_100p) CalcCost("7-1A" ,C_Lv6_Lv1Cst_100p ,C_Feed_6_100p ,C_Lv6_Lv1Cst_100p ,C_Feed_6_100p ,C_Feed_6_6 ,C_Diff0_Rate ,C_Lv5_Lv1Cst_100p ,C_Feed_5_100p) CalcCost("8-1A" ,C_Lv7_Lv1Cst_100p ,C_Feed_7_100p ,C_Lv7_Lv1Cst_100p ,C_Feed_7_100p ,C_Feed_7_7 ,C_Diff0_Rate ,C_Lv6_Lv1Cst_100p ,C_Feed_6_100p) CalcCost("9-1A" ,C_Lv8_Lv1Cst_100p ,C_Feed_8_100p ,C_Lv8_Lv1Cst_100p ,C_Feed_8_100p ,C_Feed_8_8 ,C_Diff0_Rate ,C_Lv7_Lv1Cst_100p ,C_Feed_7_100p) CalcCost("10-1A" ,C_Lv9_Lv1Cst_100p ,C_Feed_9_100p ,C_Lv9_Lv1Cst_100p ,C_Feed_9_100p ,C_Feed_9_9 ,C_Diff0_Rate ,C_Lv8_Lv1Cst_100p ,C_Feed_8_100p) CalcCost("11-1A" ,C_Lv10_Lv1Cst_100p ,C_Feed_10_100p ,C_Lv10_Lv1Cst_100p ,C_Feed_10_100p ,C_Feed_10_10 ,C_Diff0_Rate ,C_Lv9_Lv1Cst_100p ,C_Feed_9_100p) CalcCost("3-2 Lv2-Lv1" ,C_Lv2_Lv1Cst ,C_Feed_2 ,C_Lv1_Lv1Cst ,C_Feed_1 ,C_Feed_2_1 ,C_Diff1_Rate ,0 ,0) CalcCost("4-2 Lv3-Lv2" ,C_Lv3_Lv1Cst ,C_Feed_3 ,C_Lv2_Lv1Cst ,C_Feed_2 ,C_Feed_3_2 ,C_Diff1_Rate ,C_Lv1_Lv1Cst ,C_Feed_1) CalcCost("4-3 Lv3-Lv1" ,C_Lv3_Lv1Cst ,C_Feed_3 ,C_Lv1_Lv1Cst ,C_Feed_1 ,C_Feed_3_1 ,C_Diff2_Rate ,0 ,0) CalcCost("5-1 Lv4-Lv4" ,C_Lv4_Lv1Cst ,C_Feed_4 ,C_Lv4_Lv1Cst ,C_Feed_4 ,C_Feed_4_4 ,C_Diff0_Rate ,C_Lv3_Lv1Cst ,C_Feed_3) CalcCost("5-2 Lv4-Lv3" ,C_Lv4_Lv1Cst ,C_Feed_4 ,C_Lv3_Lv1Cst ,C_Feed_3 ,C_Feed_4_3 ,C_Diff1_Rate ,C_Lv2_Lv1Cst ,C_Feed_2) CalcCost("5-3 Lv4-Lv2" ,C_Lv4_Lv1Cst ,C_Feed_4 ,C_Lv2_Lv1Cst ,C_Feed_2 ,C_Feed_4_2 ,C_Diff2_Rate ,C_Lv1_Lv1Cst ,C_Feed_1) CalcCost("5-4 Lv4-Lv1" ,C_Lv4_Lv1Cst ,C_Feed_4 ,C_Lv1_Lv1Cst ,C_Feed_1 ,C_Feed_4_1 ,C_Diff3_Rate ,0 ,0) CalcCost("6-1 Lv5-Lv5" ,C_Lv5_Lv1Cst ,C_Feed_5 ,C_Lv5_Lv1Cst ,C_Feed_5 ,C_Feed_5_5 ,C_Diff0_Rate ,C_Lv4_Lv1Cst ,C_Feed_4) CalcCost("6-2 Lv5-Lv4" ,C_Lv5_Lv1Cst ,C_Feed_5 ,C_Lv4_Lv1Cst ,C_Feed_4 ,C_Feed_5_4 ,C_Diff1_Rate ,C_Lv3_Lv1Cst ,C_Feed_3) CalcCost("6-3 Lv5-Lv3" ,C_Lv5_Lv1Cst ,C_Feed_5 ,C_Lv3_Lv1Cst ,C_Feed_3 ,C_Feed_5_3 ,C_Diff2_Rate ,C_Lv2_Lv1Cst ,C_Feed_2) CalcCost("6-4 Lv5-Lv2" ,C_Lv5_Lv1Cst ,C_Feed_5 ,C_Lv2_Lv1Cst ,C_Feed_2 ,C_Feed_5_2 ,C_Diff3_Rate ,C_Lv1_Lv1Cst ,C_Feed_1) CalcCost("6-5 Lv5-Lv1" ,C_Lv5_Lv1Cst ,C_Feed_5 ,C_Lv1_Lv1Cst ,C_Feed_1 ,C_Feed_5_1 ,C_Diff4_Rate ,0 ,0) CalcCost("7-1 Lv6-Lv6" ,C_Lv6_Lv1Cst ,C_Feed_6 ,C_Lv6_Lv1Cst ,C_Feed_6 ,C_Feed_6_6 ,C_Diff0_Rate ,C_Lv5_Lv1Cst ,C_Feed_5) CalcCost("7-2 Lv6-Lv5" ,C_Lv6_Lv1Cst ,C_Feed_6 ,C_Lv5_Lv1Cst ,C_Feed_5 ,C_Feed_6_5 ,C_Diff1_Rate ,C_Lv4_Lv1Cst ,C_Feed_4) CalcCost("7-3 Lv6-Lv4" ,C_Lv6_Lv1Cst ,C_Feed_6 ,C_Lv4_Lv1Cst ,C_Feed_4 ,C_Feed_6_4 ,C_Diff2_Rate ,C_Lv3_Lv1Cst ,C_Feed_3) CalcCost("7-4 Lv6-Lv3" ,C_Lv6_Lv1Cst ,C_Feed_6 ,C_Lv3_Lv1Cst ,C_Feed_3 ,C_Feed_6_3 ,C_Diff3_Rate ,C_Lv2_Lv1Cst ,C_Feed_2) CalcCost("7-5 Lv6-Lv2" ,C_Lv6_Lv1Cst ,C_Feed_6 ,C_Lv2_Lv1Cst ,C_Feed_2 ,C_Feed_6_2 ,C_Diff4_Rate ,C_Lv1_Lv1Cst ,C_Feed_1) CalcCost("7-6 Lv6-Lv1" ,C_Lv6_Lv1Cst ,C_Feed_6 ,C_Lv1_Lv1Cst ,C_Feed_1 ,C_Feed_6_1 ,C_Diff5_Rate ,0 ,0) CalcCost("8-1 Lv7-Lv7" ,C_Lv7_Lv1Cst ,C_Feed_7 ,C_Lv7_Lv1Cst ,C_Feed_7 ,C_Feed_7_7 ,C_Diff0_Rate ,C_Lv6_Lv1Cst ,C_Feed_6) CalcCost("8-2 Lv7-Lv6" ,C_Lv7_Lv1Cst ,C_Feed_7 ,C_Lv6_Lv1Cst ,C_Feed_6 ,C_Feed_7_6 ,C_Diff1_Rate ,C_Lv5_Lv1Cst ,C_Feed_5) CalcCost("8-3 Lv7-Lv5" ,C_Lv7_Lv1Cst ,C_Feed_7 ,C_Lv5_Lv1Cst ,C_Feed_5 ,C_Feed_7_5 ,C_Diff2_Rate ,C_Lv4_Lv1Cst ,C_Feed_4) CalcCost("8-4 Lv7-Lv4" ,C_Lv7_Lv1Cst ,C_Feed_7 ,C_Lv4_Lv1Cst ,C_Feed_4 ,C_Feed_7_4 ,C_Diff3_Rate ,C_Lv3_Lv1Cst ,C_Feed_3) CalcCost("8-5 Lv7-Lv3" ,C_Lv7_Lv1Cst ,C_Feed_7 ,C_Lv3_Lv1Cst ,C_Feed_3 ,C_Feed_7_3 ,C_Diff4_Rate ,C_Lv2_Lv1Cst ,C_Feed_2) CalcCost("8-6 Lv7-Lv2" ,C_Lv7_Lv1Cst ,C_Feed_7 ,C_Lv2_Lv1Cst ,C_Feed_2 ,C_Feed_7_2 ,C_Diff5_Rate ,C_Lv1_Lv1Cst ,C_Feed_1) CalcCost("8-7 Lv7-Lv1" ,C_Lv7_Lv1Cst ,C_Feed_7 ,C_Lv1_Lv1Cst ,C_Feed_1 ,C_Feed_7_1 ,C_Diff6_Rate ,0 ,0) CalcCost("9-1 Lv8-Lv8" ,C_Lv8_Lv1Cst ,C_Feed_8 ,C_Lv8_Lv1Cst ,C_Feed_8 ,C_Feed_8_8 ,C_Diff0_Rate ,C_Lv7_Lv1Cst ,C_Feed_7) CalcCost("9-2 Lv8-Lv7" ,C_Lv8_Lv1Cst ,C_Feed_8 ,C_Lv7_Lv1Cst ,C_Feed_7 ,C_Feed_8_7 ,C_Diff1_Rate ,C_Lv6_Lv1Cst ,C_Feed_6) CalcCost("9-3 Lv8-Lv6" ,C_Lv8_Lv1Cst ,C_Feed_8 ,C_Lv6_Lv1Cst ,C_Feed_6 ,C_Feed_8_6 ,C_Diff2_Rate ,C_Lv5_Lv1Cst ,C_Feed_5) CalcCost("9-4 Lv8-Lv5" ,C_Lv8_Lv1Cst ,C_Feed_8 ,C_Lv5_Lv1Cst ,C_Feed_5 ,C_Feed_8_5 ,C_Diff3_Rate ,C_Lv4_Lv1Cst ,C_Feed_4) CalcCost("9-5 Lv8-Lv4" ,C_Lv8_Lv1Cst ,C_Feed_8 ,C_Lv4_Lv1Cst ,C_Feed_4 ,C_Feed_8_4 ,C_Diff4_Rate ,C_Lv3_Lv1Cst ,C_Feed_3) CalcCost("9-6 Lv8-Lv3" ,C_Lv8_Lv1Cst ,C_Feed_8 ,C_Lv3_Lv1Cst ,C_Feed_3 ,C_Feed_8_3 ,C_Diff5_Rate ,C_Lv2_Lv1Cst ,C_Feed_2) CalcCost("9-7 Lv8-Lv2" ,C_Lv8_Lv1Cst ,C_Feed_8 ,C_Lv2_Lv1Cst ,C_Feed_2 ,C_Feed_8_2 ,C_Diff6_Rate ,C_Lv1_Lv1Cst ,C_Feed_1) CalcCost("9-8 Lv8-Lv1" ,C_Lv8_Lv1Cst ,C_Feed_8 ,C_Lv1_Lv1Cst ,C_Feed_1 ,C_Feed_8_1 ,C_Diff7_Rate ,0 ,0) CalcCost("10-1 Lv9-Lv9" ,C_Lv9_Lv1Cst ,C_Feed_9 ,C_Lv9_Lv1Cst ,C_Feed_9 ,C_Feed_9_9 ,C_Diff0_Rate ,C_Lv8_Lv1Cst ,C_Feed_8) CalcCost("10-2 Lv9-Lv8" ,C_Lv9_Lv1Cst ,C_Feed_9 ,C_Lv8_Lv1Cst ,C_Feed_8 ,C_Feed_9_8 ,C_Diff1_Rate ,C_Lv7_Lv1Cst ,C_Feed_7) CalcCost("10-3 Lv9-Lv7" ,C_Lv9_Lv1Cst ,C_Feed_9 ,C_Lv7_Lv1Cst ,C_Feed_7 ,C_Feed_9_7 ,C_Diff2_Rate ,C_Lv6_Lv1Cst ,C_Feed_6) CalcCost("10-4 Lv9-Lv6" ,C_Lv9_Lv1Cst ,C_Feed_9 ,C_Lv6_Lv1Cst ,C_Feed_6 ,C_Feed_9_6 ,C_Diff3_Rate ,C_Lv5_Lv1Cst ,C_Feed_5) CalcCost("10-5 Lv9-Lv5" ,C_Lv9_Lv1Cst ,C_Feed_9 ,C_Lv5_Lv1Cst ,C_Feed_5 ,C_Feed_9_5 ,C_Diff4_Rate ,C_Lv4_Lv1Cst ,C_Feed_4) CalcCost("10-6 Lv9-Lv4" ,C_Lv9_Lv1Cst ,C_Feed_9 ,C_Lv4_Lv1Cst ,C_Feed_4 ,C_Feed_9_4 ,C_Diff5_Rate ,C_Lv3_Lv1Cst ,C_Feed_3) CalcCost("10-7 Lv9-Lv3" ,C_Lv9_Lv1Cst ,C_Feed_9 ,C_Lv3_Lv1Cst ,C_Feed_3 ,C_Feed_9_3 ,C_Diff6_Rate ,C_Lv2_Lv1Cst ,C_Feed_2) CalcCost("10-8 Lv9-Lv2" ,C_Lv9_Lv1Cst ,C_Feed_9 ,C_Lv2_Lv1Cst ,C_Feed_2 ,C_Feed_9_2 ,C_Diff7_Rate ,C_Lv1_Lv1Cst ,C_Feed_1) CalcCost("10-9 Lv9-Lv1" ,C_Lv9_Lv1Cst ,C_Feed_9 ,C_Lv1_Lv1Cst ,C_Feed_1 ,C_Feed_9_1 ,C_Diff8_Rate ,0 ,0) CalcCost("11-1 Lv10-Lv10" ,C_Lv10_Lv1Cst ,C_Feed_10 ,C_Lv10_Lv1Cst ,C_Feed_10 ,C_Feed_10_10 ,C_Diff0_Rate ,C_Lv9_Lv1Cst ,C_Feed_9) CalcCost("11-2 Lv10-Lv9" ,C_Lv10_Lv1Cst ,C_Feed_10 ,C_Lv9_Lv1Cst ,C_Feed_9 ,C_Feed_10_9 ,C_Diff1_Rate ,C_Lv8_Lv1Cst ,C_Feed_8) CalcCost("11-3 Lv10-Lv8" ,C_Lv10_Lv1Cst ,C_Feed_10 ,C_Lv8_Lv1Cst ,C_Feed_8 ,C_Feed_10_8 ,C_Diff2_Rate ,C_Lv7_Lv1Cst ,C_Feed_7) CalcCost("11-4 Lv10-Lv7" ,C_Lv10_Lv1Cst ,C_Feed_10 ,C_Lv7_Lv1Cst ,C_Feed_7 ,C_Feed_10_7 ,C_Diff3_Rate ,C_Lv6_Lv1Cst ,C_Feed_6) CalcCost("11-5 Lv10-Lv6" ,C_Lv10_Lv1Cst ,C_Feed_10 ,C_Lv6_Lv1Cst ,C_Feed_6 ,C_Feed_10_6 ,C_Diff4_Rate ,C_Lv5_Lv1Cst ,C_Feed_5) CalcCost("11-6 Lv10-Lv5" ,C_Lv10_Lv1Cst ,C_Feed_10 ,C_Lv5_Lv1Cst ,C_Feed_5 ,C_Feed_10_5 ,C_Diff5_Rate ,C_Lv4_Lv1Cst ,C_Feed_4) CalcCost("11-7 Lv10-Lv4" ,C_Lv10_Lv1Cst ,C_Feed_10 ,C_Lv4_Lv1Cst ,C_Feed_4 ,C_Feed_10_4 ,C_Diff6_Rate ,C_Lv3_Lv1Cst ,C_Feed_3) CalcCost("11-8 Lv10-Lv3" ,C_Lv10_Lv1Cst ,C_Feed_10 ,C_Lv3_Lv1Cst ,C_Feed_3 ,C_Feed_10_3 ,C_Diff7_Rate ,C_Lv2_Lv1Cst ,C_Feed_2) CalcCost("11-9 Lv10-Lv2" ,C_Lv10_Lv1Cst ,C_Feed_10 ,C_Lv2_Lv1Cst ,C_Feed_2 ,C_Feed_10_2 ,C_Diff8_Rate ,C_Lv1_Lv1Cst ,C_Feed_1) CalcCost("11-10 Lv10-Lv1" ,C_Lv10_Lv1Cst ,C_Feed_10 ,C_Lv1_Lv1Cst ,C_Feed_1 ,C_Feed_10_1 ,C_Diff9_Rate ,0 ,0) } /************************************************** コスト計算 **************************************************/ function CalcCost(pTitle,pBaseLv1Cst,pBaseFeed,pAddLv1Cst,pAddFeed,pSynFeed,pSynDiffRate,pFailDiffLv1Cst,pFailDiffFeed){ let tmpSynMst = pTitle let tmpSynTtl = 0 //累計合成数 let tmpLv1Ttl = 0 //累計Lv1利用数 let tmpFedTtl = 0 //累計飼料利用数 // console.log("Start " + tmpSynMst) DebugMsg(tmpSynMst + "-1",tmpSynTtl,tmpLv1Ttl,tmpFedTtl,"START") //合成ベース中立作成 tmpLv1Ttl = tmpLv1Ttl + pBaseLv1Cst tmpFedTtl = tmpFedTtl + pBaseFeed DebugMsg(tmpSynMst + "-2",tmpSynTtl,tmpLv1Ttl,tmpFedTtl,"Syn Base Create") while (tmpSynTtl < C_SynTtl) { //合成添加中立作成 tmpLv1Ttl = tmpLv1Ttl + pAddLv1Cst //添加用中立 tmpFedTtl = tmpFedTtl + pAddFeed //1準備 DebugMsg(tmpSynMst + "-3",tmpSynTtl,tmpLv1Ttl,tmpFedTtl,"Syn Add Create") tmpFedTtl = tmpFedTtl + pSynFeed //合成に使う飼料 DebugMsg(tmpSynMst + "-4",tmpSynTtl,tmpLv1Ttl,tmpFedTtl,"Syn Execute") if (isSuccess(pSynDiffRate)){ tmpSynTtl = tmpSynTtl + 1 DebugMsg(tmpSynMst + "-5",tmpSynTtl,tmpLv1Ttl,tmpFedTtl,"Syn Success") if (tmpSynTtl < C_SynTtl){ //合成ベース中立作成 tmpLv1Ttl = tmpLv1Ttl + pBaseLv1Cst tmpFedTtl = tmpFedTtl + pBaseFeed DebugMsg(tmpSynMst + "-6",tmpSynTtl,tmpLv1Ttl,tmpFedTtl,"Syn Base Create") } } else { //失敗して残った分の再利用差分を埋めるところ tmpLv1Ttl = tmpLv1Ttl - pFailDiffLv1Cst tmpFedTtl = tmpFedTtl - pFailDiffFeed DebugMsg(tmpSynMst + "-7",tmpSynTtl,tmpLv1Ttl,tmpFedTtl,"Syn Fail") } } //new Intl.NumberFormat('ja-JP').format(num) console.log(tmpSynMst + " 合成数 = " + new Intl.NumberFormat('ja-JP').format(tmpSynTtl) + " 累計Lv1利用数 = " + new Intl.NumberFormat('ja-JP').format(tmpLv1Ttl) + " 累計飼料利用数 = " + new Intl.NumberFormat('ja-JP').format(tmpFedTtl) + " 平均Lv1利用数 = " + new Intl.NumberFormat('ja-JP').format(tmpLv1Ttl / tmpSynTtl) + " 平均飼料利用数 = " + new Intl.NumberFormat('ja-JP').format(tmpFedTtl / tmpSynTtl)) } /************************************************** 合成成否取得 **************************************************/ function isSuccess(pRate){ let tmpRnd = Math.random() * 100 if (tmpRnd <= pRate){ return true } else { return false } } /************************************************** デバッグメッセージ **************************************************/ function DebugMsg(pPreMsg,pSynTtl,pLv1Ttl,pFedTtl,pSfxMsg){ if (C_Debug){ console.log(pPreMsg + " SynTtl = " + pSynTtl + " Lv1Ttl = " + pLv1Ttl + " FedTtl = " + pFedTtl + " " + pSfxMsg) } }