装備のステータス計算を作った


2017年 9月30日
 
 
 その前にまずデータの扱いを整理する事にした。

 ud(ユニットデータ)、cd(キャラデータ)、id(アイテムデータ)、itd(アイテム元データ)、これらの変数の何番目が何のデータかという奴だ。

 最終的に今の所こんな感じになった。

 
 
 なぜこんな事をするのかと言うと、例えばキャラの 攻撃値格納が 15番で、アイテムの攻撃値格納が 11番だったりすると、扱いがややこしいからだ。

 例えば統一した攻撃値の計算だと ud(ug+11)+=id(ig+11)のようになり、要するにそれぞれ 11番目の値が攻撃値なので分かりやすい。

 今回それぞれ適当に手探りでやっていたので、データの扱いがバラバラだった。
 大変だが、まだソースが少ない内にやってしまおう。
 
 
 まず仕様番号の変わったデータを改変する、データコンバーターを作る。

 と言ってもしごく簡単だ。

 
 
 そしてプログラム内のデータの扱いを全て変えていく。
 隅から隅まで全部間違いなく変えないといけないので、これが大変な作業となる。
 
 
 ところでこれ、たぶんプログラマー的に言うとやってはいけない事だと思う。

 たしかプログラマーのハウツーに「最適化してはいけない」というようなものがあったと思う。

 なぜかと言うと必ずバグが発生し、不慮のバグが残る可能性が増大し、最悪の場合動かなくなるからだ。
 
 
 本当はデータの扱いを数字では無く、

 d_str=1
 ud(ug+d_str)、id(ig+d_str)

 のような変数扱いでするべきなのだろう。
 次回のプログラムからは考慮しようと思う。
 
 
 さて、その作業で(バカみたいに)2日程費やし、いよいよ装備によるステータス計算を行う。

 ソースはこんな感じ。

 
 
 装備無しの状態。


 
 
 武器を装備。

 う~ん、気がつかなかったけど魔法防御値もいるんだよなあ。
 うわあっ、そうだ魔攻値もだ。

 データ整理したばかりなのに、どうしたもんだろう。
 
 

 
 
 今の所 2番目以降の武器の攻撃値は足さない。


 
 
 防具のデータもまだ全部作ってないなあ。


 
 
 後はアイテム枠増加の計算が残ってる。
 これは頭痛いんだよなあ。

 枠増加枠に装備しているものが、枠増加アイテムを外した時に同時に外されるという・・・。
 
 

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です