どらくえは ねとげになつて つまらない あうと

このエントリーをはてなブックマークに追加
740名前が無い@ただの名無しのようだ
今日は、ホントにチラシの裏的なレスを。まあ、一応スレの内容には沿ってるかな?

おととい、>>734を友人のPCから投下させてもらったとき、友人らにもこのスレの話をした。
DQ1の復活の呪文は、チェック前の段階では薬草・鍵を15個まで持てるようになっているという話をすると
プログラムが趣味で、情報処理の国家資格も持っている友人は興味ぶかそうに聞いていた。

DQ1の復活の呪文は、内部的にはおそらく2段階に分けて復活の呪文のチェックをしているのだと思う。
 1、チェックサムが合わなければ、もちろん不正な呪文(薬草・鍵・アイテムOK、チェックのみNGの状態)
 2、薬草や鍵の数が7個以上なら、不正な呪文(いつも苦労させられる例の箇所)
よっちさんのサイトでの解説によると、薬草・鍵の所持数はそれぞれ4ビットで管理しているようで、
そのためかdq1pswd.exeでは、これらの数に最大15までが指定できるようになっている。
ただし実際には、それぞれ6個までしか持てないので、3ビットしか要らないはずだが…?
もし、最初から薬草・鍵を15個まで持てる仕様になっていれば、上記の2の部分ですでに呪文が完成しているということになり、
より多くの呪文がチェックを通過してしまう。つまり、呪文の捏造がしやすくなってしまうということだ。
それを防ぐため、チェック前の最大所持可能数と実際の最大所持可能数を変え、
ここでもう一度チェックするようにして、不正な呪文を通さないガードを堅くしたのではなかろうか。
先の友人は、こう言っていた。
「俺だったら『名前に数字が入っている』『重要アイテムが複数個など、ありえない組み合わせでアイテムを持っている』
 これを検出した段階で不正な呪文とするようにプログラミングする」
確かにそのほうがガードはより堅くなるが、メモリの少なかった当時は容量的にそこまで作る余裕もなかったのだろう。
(もし、そこまでチェックが厳しかったら、こんなに多くの語呂合わせ呪文は生まれなかっただろうなw)

ついでに、もうひとつプログラム的な話をすると
 ・武器を持っていない→「なし」という名前の攻撃力0の武器を装備している
 ・鎧を持っていない→「なし」と(ry
 ・盾を(ry
ということなんだろうなw