導入
ダイソンソフィアプログラムのエンドコンテンツ(?)として、無限研究の一つに「鉱脈の利用」があります。レベル 100 近くなると、鉱脈の採掘で消費する量がほぼ 0 となり、資源が無限に採掘出来るようになります。希少資源が枯渇することも無くなります。
仕様
「鉱脈の利用」はレベルが 1 つ上がる度に、
・-6% 鉱脈消費 / 採掘
・+10% 採掘速度
となっています。
プログラム
これから先の変化量を手で計算するのは面倒なので、プログラムを書いて求めてみます。
(define (vein level speed ratio)
(if (> level 100)
'done
(begin
(print (format #f "level = ~3,'0d, speed = ~4,'0d, ratio = ~1,3f" level speed ratio))
(vein (+ level 1) (+ speed 10) (* ratio 0.94)))))
現在の値を vein 手続きの引数に与えて評価すると、レベル 100 までの採掘速度と鉱脈消費の値を表示します。
実行
現在の鉱脈の利用の値は
・レベルは 62
・採掘速度は、 710 %
・鉱脈消費 / 採掘は、2.295 %
です。
gosh> (vein 62 710 2.295)
level = 062, speed = 0710, ratio = 2.295
level = 063, speed = 0720, ratio = 2.157
level = 064, speed = 0730, ratio = 2.028
level = 065, speed = 0740, ratio = 1.906
level = 066, speed = 0750, ratio = 1.792
level = 067, speed = 0760, ratio = 1.684
level = 068, speed = 0770, ratio = 1.583
level = 069, speed = 0780, ratio = 1.488
level = 070, speed = 0790, ratio = 1.399
level = 071, speed = 0800, ratio = 1.315
level = 072, speed = 0810, ratio = 1.236
level = 073, speed = 0820, ratio = 1.162
level = 074, speed = 0830, ratio = 1.092
level = 075, speed = 0840, ratio = 1.027
level = 076, speed = 0850, ratio = 0.965
level = 077, speed = 0860, ratio = 0.907
level = 078, speed = 0870, ratio = 0.853
level = 079, speed = 0880, ratio = 0.802
level = 080, speed = 0890, ratio = 0.754
level = 081, speed = 0900, ratio = 0.708
level = 082, speed = 0910, ratio = 0.666
level = 083, speed = 0920, ratio = 0.626
level = 084, speed = 0930, ratio = 0.588
level = 085, speed = 0940, ratio = 0.553
level = 086, speed = 0950, ratio = 0.520
level = 087, speed = 0960, ratio = 0.489
level = 088, speed = 0970, ratio = 0.459
level = 089, speed = 0980, ratio = 0.432
level = 090, speed = 0990, ratio = 0.406
level = 091, speed = 1000, ratio = 0.381
level = 092, speed = 1010, ratio = 0.359
level = 093, speed = 1020, ratio = 0.337
level = 094, speed = 1030, ratio = 0.317
level = 095, speed = 1040, ratio = 0.298
level = 096, speed = 1050, ratio = 0.280
level = 097, speed = 1060, ratio = 0.263
level = 098, speed = 1070, ratio = 0.247
level = 099, speed = 1080, ratio = 0.233
level = 100, speed = 1090, ratio = 0.219
done
結果
レベル 100 になると、採掘速度は 1090 %、鉱脈消費 / 採掘は、0.219 % になることがわかります。
資料
今はレベル 63 になりましたが、計算結果と一致しています。
まとめ
このプログラムが誰かの役に立つのかは謎。