日記/2007-11-29 のバックアップソース(No.1)

お名前:
**父ちゃん情けなくって涙が出てくらぁ。 [#n6a6458a]

つーか、自分に対してですが。~
なんでこんな基本的なところの設計ミスをしているかなぁ。~
自戒の意味も含めて、公開メモ。

-報告概要:''スキル使用率を最大値にした際に、スキルを使用してくれない。''
--Glenelgではスキルの使用率を「敵タイプごと」に指定できる。~
仕様上、その際の値域は「一切使用しない0〜最大10」となっている。ヘルプ記載もこのとおり。
--実際に操作して「スキル使用率を10」にしようとすると、情報ウィンドウには正しく10が設定された旨表示される。
--ところがこうすると、スキルを一切使ってくれない。
-調査結果:''設定値保存アルゴリズムの設計ミスによるバグ。''
--単純に言ってしまうと。~
保存アルゴが「0〜9の値」でしか正しく動いていません。
--もう少し細かく。~
Glenelgでは設定値の保存の際に、データ文字数削減のために複数の設定値を1つの数値に加工して保存しています。~
具体的には「1桁目はスキルの使用率。2桁目はスキルの使用レベル・・・」というように。~
--・・・もうお解りですね?~
スキル使用率の記録領域は数値1桁分しか確保していないので、「2桁になる10」は正しく記録できないのです。

・・・情けなくって涙でてくるぜ(笑)~
値域の確認なんて、設計の基本中の基本なのに。


・・・ともあれ、どーしたもんか。~
直すのは記憶領域のフォーマットをいじれば簡単なんだが、それをやっちゃうと旧設定値との互換性がとれなくなる==ユーザーさんがまた敵ごとの設定をはじめからやり直し、なんだよな。~
それはいくらなんでもあんまりだし。~
・・・以前に作ったluaフォーマット版を利用するか・・・

お名前: