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

獲得経験値の計算

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

概要

ファミコンドラクエ2の戦闘終了時に得られる経験値は、倒した敵モンスターの経験値の単純な合計ではありません。敵モンスターの数に応じて獲得経験値が割り増しされる仕組みとなっています。

計算方法

倒した敵モンスターの経験値を単純に合計したものをE、戦闘開始時の敵モンスターの合計匹数をNとします。

N = 1(敵モンスターが1匹)の場合は、Eがそのまま獲得経験値となります。

N  2(敵モンスターが2匹以上)の場合、獲得経験値は以下の式で計算されます(割り算は小数部分切り捨て)

E + (E * (N - 1) / 10) + 1

要するに、得られる経験値が(N - 1)割ほど割り増しされます。例えば、3匹で現れた敵モンスターを全て倒したとすると、得られる経験値は約20%割り増しされます。

割増率は戦闘開始時の敵数にのみ依存

勘違いしやすいのですが、Nはあくまでも戦闘開始時の敵モンスターの合計匹数であって、実際に倒した数ではありません。そのため、戦闘中に敵モンスターが逃げて数が減ったり、仲間を呼んで数が増えたりしても、Nの値は変動せず割増率はそのままです。

上限は9999

一度の戦闘で得られる経験値の上限は9999です。N = 1の場合はEの値が、N  2の場合は上式の計算結果が、10000を超えた場合でも、獲得経験値は9999となります。

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

Eの最大値は65535となっており、敵を倒し続けてもそれ以上には増えません。(どのみち9999の制限に引っかるので、そんなに稼ぐ意味はないのですが。)またオーバーフローしてEの値が0に戻るということもありません。

しかし、上述のN  2の場合の獲得経験値の計算はオーバーフローの発生を想定しておらず、計算の途中で65535以上の数字が出てくるとオーバーフローして獲得経験値がおかしくなります。もっとも、Eの値がよっぽど大きくならない限りオーバーフローすることはないので(はぐれメタルだと60匹くらい?)、普通にプレイしている分には発生しないでしょう。