アーカイブドキュメントDQ DQのデータ等
1. SFC版DQ1のステータス決定ルーチン
2. FC版DQ2の仲間の名前決定ルーチン
1. SFC版DQ1のステータス決定ルーチン
DQ1の勇者が名前で強さが変わるのは有名な話だと思います。
公式ガイドブックにも計算式が載っているので試した人も多いコトでしょう。
でもSFC版だと微妙に間違ってるのをDQ1(SFC版)強さ判断プログラム作成中に気付いたので、メモしておきます。
(1) まず名前を数字に変換
勇者の名前を一文字ずつ数字に変換して、全て足します。
対応表は以下の通りです。
SFC版DQ1 勇者の名前文字変換表
| 文字 | | | | ー | | | | | | | | あ | い | う | え | お |
| | | | | | | | | | | | | | ア | イ | ウ |
| か | き | く | け | こ | さ | し | す | せ | そ | た | ち | つ | て | と | な |
| エ | オ | カ | キ | ク | ケ | コ | サ | シ | ス | セ | ソ | タ | チ | ツ | テ |
| に | ぬ | ね | の | は | ひ | ふ | へ | ほ | ま | み | む | め | も | や | ゆ |
| ト | ナ | ニ | ヌ | ネ | ノ | ハ | ヒ | フ | ヘ | ホ | マ | ミ | ム | メ | モ |
| よ | ら | り | る | れ | ろ | わ | を | ん | っ | ゃ | ゅ | ょ | | ゜ | ゛ |
| ヤ | ユ | ヨ | ラ | リ | ル | レ | ロ | ワ | ヲ | ン | ッ | ャ | ュ | ョ | |
| 数字 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
例: 「ゆうしゃ」なら「ゆ: 15」+「う: 13」+「し: 6」+「ゃ: 10」= 44 となります。
(2) 合計を16で割る
上記の表で求めた合計の数字を16で割り、その余りを求めます。
なお、名前が3文字以下の場合は自動的に余りが「15」となります。
求めた余りの数で、下記表から初期ステータス&成長タイプがわかります。
「A」が成長が早く、「B」が成長が遅いタイプです。
SFC版DQ1 成長タイプ判別表
| 余り | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
| ちから | 6 | 7 | 6 | 7 | 6 | 7 | 6 | 7 | 6 | 7 | 6 | 7 | 6 | 7 | 6 | 7 |
| B | A | B | A | B | A | B | A | B | A | B | A | B | A | B | A |
| すばやさ | 6 | 5 | 6 | 5 | 6 | 5 | 6 | 5 | 6 | 5 | 6 | 5 | 6 | 5 | 6 | 5 |
| B | B | A | A | B | B | A | A | B | B | A | A | B | B | A | A |
| みのまもり | 3 | 2 | 3 | 2 | 3 | 2 | 3 | 2 | 3 | 2 | 3 | 2 | 3 | 2 | 3 | 2 |
| B | B | A | A | B | B | A | A | B | B | A | A | B | B | A | A |
| 最大HP | 15 | 15 | 16 | 16 | 15 | 15 | 13 | 13 | 15 | 15 | 14 | 14 | 15 | 15 | 15 | 15 |
| A | A | B | B | A | A | B | B | A | A | B | B | A | A | B | B |
| LV3の最大MP | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 |
| A | B | A | B | A | B | A | B | A | B | A | B | A | B | A | B |
例: 「ゆうしゃ」なら44 ÷ 16 = 2 余り 12 となります。
余りが12の場合はちから: 6(Bタイプ)、すばやさ: 6(Bタイプ)、みのまもり: 3(Bタイプ)、最大HP: 15(Aタイプ)、レベル3の最大MP: 4(Aタイプ)の勇者になります。
| ゆうしゃ |
|---|
| レベル: | 1 | |
| ちから: | 6 | Bタイプ |
| すばやさ: | 6 | Bタイプ |
| みのまもり: | 3 | Bタイプ |
| さいだいHP: | 15 | Aタイプ |
| さいだいMP: | 0 | Aタイプ |
| Ex: | 0 | |

「アルス」なら3文字以下なので、自動的に余り 15 となります。
余りが15の場合はちから: 7(Aタイプ)、すばやさ: 5(Aタイプ)、みのまもり: 2(Aタイプ)、最大HP: 15(Bタイプ)、レベル3の最大MP: 4(Bタイプ)の勇者になります。
| アルス |
|---|
| レベル: | 1 | |
| ちから: | 7 | Aタイプ |
| すばやさ: | 5 | Aタイプ |
| みのまもり: | 2 | Aタイプ |
| さいだいHP: | 15 | Bタイプ |
| さいだいMP: | 0 | Bタイプ |
| Ex: | 0 | |

(3) しかし罠があった
上記が公式ガイドブックの解説です。
素直に考えると「これで、勝ったも同然!」なんですが、微妙に罠が潜んでいます。
例えば勇者の名前を「ガボ」にした場合はどうなるでしょうか?
「ガ」「ボ」だから2文字で、3文字以下なので余りは15?
それとも「カ: 2」+「゛: 15」+「ホ: 10」+「゛: 15」= 42 ÷ 16 = 2 余り 10?
この場合は後者で、FC版と同じような文字の数え方で余りは12となります。

そうなると「パパス」=「ハ: 6」+「゜: 14」+「ハ: 6」+「゜: 14」+「ス: 9」= 46 ÷ 16 = 2 余り 14
と考えられるのですが、実際は4文字目までしか判定に使っていません。
したがって「パパス」=「ハ: 6」+「゜: 14」+「ハ: 6」+「゜: 14」= 40 ÷ 16 = 2 余り 8 となります。

同様に「ルイーダ」=「ル: 5」+「イ: 14」+「ー: 3」+「タ: 12」= 34 ÷ 16 = 2 余り 2 となります。

手計算で好みのキャラを作るも良し、プログラム使うのも良し…でしょう。
ところで手持ちの公式ガイドブックが初版なんですが、第2刷以降は訂正されてたり…しないよね?
(4) 参考資料
ドラゴンクエストI・II 公式ガイドブック エニックス刊 ISBN4-87025-741-6
より「名前による成長の変化」
2. FC版DQ2の仲間の名前決定ルーチン
DQ2をやっていればローレシアの王子の名前でサマルトリアの王子とムーンブルクの王女の名前が変わるのは当たり前のコトだと思います。
スタスタさんのトコで解説してましたが、気にせず解説してしまいます。(オイ)
(1) まず名前を数字に変換
ローレシアの王子の名前を一文字ずつ数字に変換して、全て足します。
2文字以上の名前の場合はその足した数から1引きます。
対応表は以下の通りです。
FC版DQ2 ローレシアの王子の名前文字変換表
| 文字 | あ | い | う | え | お | か | き | く | け | こ | さ | し | す | せ | そ |
| 数字 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 |
| 文字 | た | ち | つ | て | と | な | に | ぬ | ね | の | は | ひ | ふ | へ | ほ |
| 数字 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
| 文字 | ま | み | む | め | も | や | ゆ | よ | ら | り | る | れ | ろ | わ | を |
| 数字 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 |
|---|
| 文字 | ん | っ | ゃ | ゅ | ょ | ゜ | ゛ | | | | | | | | |
| 数字 | 24 | 25 | 26 | 27 | 28 | 13 | 14 | | | | | | | | |
例: 「ろらん」なら「ろ: 21」+「ら: 17」+「ん: 24」- 1 = 61 となります。
(2) 合計を63以下になるまで64を引く
上記の表で求めた数が64以上なら、63以下になるまで64を引き続けます。
その63以下になった数と下記表からサマルトリアの王子とムーンブルクの王女がわかります。
FC版DQ2 サマ王子・ムン王女名前判別表
サマルトリアの王子 \ ムーンブルクの王女 | トンヌラ | すけさん | パウロ | ランド | カイン | アーサー | コナン | クッキー |
| アイリン | 43 | 51 | 59 | 3 | 11 | 19 | 27 | 35 |
| マリア | 44 | 52 | 60 | 4 | 12 | 20 | 28 | 36 |
| ナナ | 45 | 53 | 61 | 5 | 13 | 21 | 29 | 37 |
| あきな | 46 | 54 | 62 | 6 | 14 | 22 | 30 | 38 |
| プリン | 47 | 55 | 63 | 7 | 15 | 23 | 31 | 39 |
| まいこ | 48 | 56 | 0 | 8 | 16 | 24 | 32 | 40 |
| リンダ | 49 | 57 | 1 | 9 | 17 | 25 | 33 | 41 |
| サマンサ | 50 | 58 | 2 | 10 | 18 | 26 | 34 | 42 |
例: 「ろらん」なら 61 なので、サマ王子「パウロ」、ムン王女「ナナ」となります。
| なまえ | LV | HP | MP |
|---|
| ろらん | 50 | 240 | 0 |
| パウロ | 45 | 200 | 160 |
| ナナ | 35 | 180 | 210 |

(3) 逆算してみる
ローレシアの王子の名前を決めてる時は計算するなり、プログラムを使うなりで良いと思います。
…が、逆にサマ王子とムン王女の名前を狙い撃ちしたい場合は逆算する必要があります。
例: サマ王子「クッキー」、ムン王女「プリン」したい場合は合計の数字が 39 になります。
1文字で 39 になる文字は無いので、計算結果で 39 になるような文字を選びます。
簡単なのは 「39 = x + y - 1」 となるような2文字を選ぶコトでしょうか。
「ろ: 21」+「る: 19」- 1 = 39 となるので、ローレシアの王子「ろる」だと望みのパーティになるハズです。
| なまえ | LV | HP | MP |
|---|
| ろる | 50 | 240 | 0 |
| クッキー | 45 | 200 | 160 |
| プリン | 35 | 180 | 210 |

(4) 逆算用プログラム
この計算が面倒なので、これもプログラムにしてみたいと思います。
数学がダメな理系(爆)ですが、「組み合わせ」で行けば良いくらいはわかります。
以下、ローレシアの王子が3文字の場合に望みの仲間の名前を導き出せるプログラムのソース(Perl)です。
ま、結果は組み合わせの数字が出るだけなんですけどね。
※下記はサマ王子が「クッキー」、ムン王女が「プリン」となる「39」の場合の組み合わせ。
この結果を文字に置換して…と思ってたんですが、4文字対応にするとムチャクチャ重くなる。
マルチスレッド対応も考えましたが、なかなか難しそうなので断念。
ステキプログラマーの方、後はよろしくお願い致します。(爆)
(5) 参考資料
ファミリーコンピュータMagazine増刊 合本 ドラゴンクエストII 悪霊の神々 必勝ガイド
より「超ウルトラ技50+1 Part3」の特別技「ひとりめの名前であとのふたりの名前もわかる!」
[スットン共和国] / [国連G対策センター] / アーカイブドキュメントDQ