距離の計算

スキルとかアイテムとかを打ち込むだけで一日が終わるのは勘弁して欲しいです。でもその辺の実装が終わったらキャラクター作成ウィザードは完成なのでがんばります。


ともあれ、本題。
スクウェアマップで戦闘マップ描画、てなことを前のエントリで書きました。

戦闘時の行動順自動生成機能を搭載したい - TRPG履歴
http://d.hatena.ne.jp/standby/20080512/p1

で、距離を「どこ」から「どこ」への距離で計算するかで変わってくるんですね。

大雑把には下記のような状態があったとします。一辺は1mです。

+--------+
|        |        2
|   敵   |        +
|        |   1    |
+--------+   +    |
|        |   |    |
|        |   | 1m | 2m
|        |   |    |
+--------+   +    |
|        |        |
|   PC   |        +
|        |
+--------+

この時、
1「キャラクターの存在するスクウェアの端から、対象のキャラクターの存在するスクウェアの端まで」
で計算すると、1mの距離、です。
あるいは、
2「キャラクターの存在するスクウェアの中心から、対象のキャラクターの存在するスクウェアの中心まで」
で計算すると、2mになります。
どっちがいいのかなー? と考えてたんですが、処理が楽なのは?かなー。
エンゲージを中心に考えて見ると、効果が「範囲」だったりする場合、エンゲージ全体に効果を及ぼすなら、中心点で発動しなきゃダメだよなー、ってことになると思います。
ので、たぶん実装は2かな。


実際には計算式が「(PCのいるスクウェア = 3)−(敵のいるスクウェア = 1)」でやると、2の数値になる、ってだけなんですが。
後の理屈は牽強付会