レトロゲーム
攻略サイト
 ワールド9
FC
ドラゴンクエスト2 
悪霊の神々

獲得ゴールドの計算

ファミコンドラゴンクエスト2の、戦闘終了時に得られるゴールドの計算方法について解説します。

概要

ファミコンドラクエ2の戦闘終了時に得られるゴールドは、倒した敵モンスターのゴールドの合計で固定というわけではなく、ランダムでバラつくようになっています。

計算方法

倒した敵のゴールドの合計をG0から255のいずれかの値を取る乱数(一様分布)を[0~255]と表すと、戦闘終了時に得られるゴールドは以下の式で表されます(割り算は小数部分切り捨て)。

G - (G / 4 * [0~255] / 256)

要するに獲得ゴールドは、最大値はGそのもの、最小値はGの約75%で、概ね一様分布をとります。平均値は当然Gの約7/8(87.5%)です。


以下、特殊なケースでの獲得ゴールドについて解説します。

敵がゴールドをドロップした場合

ファミコンドラクエ2では、アイテムの代わりにゴールドをドロップするケースがあります。その場合、Gの値を倍にして上式の獲得ゴールド計算がなされ、結果として通常の約2倍のゴールドが得られます。なお、このケースで戦闘終了時に得られるゴールドは全て宝箱の中に入っていたこととなります。

上限は65535

変数Gの最大値は65535となっており、敵を倒し続けてもGはそれ以上には増えないようになっています。よって一度の戦闘で得られる最大ゴールドは65535です。なお、Gの値がオーバーフローして0に戻ることもありません。

オーバーフローするケース

ただしGの値が32768以上のときに敵がゴールドをドロップすると、Gの値を2倍にする処理でオーバーフローが発生して獲得ゴールドがおかしくなります。もっとも、Gの値が32768以上になることはまずないと思います。