SSブログ

座標系 [HEX]

昨日の段階で、ヘックスマップを Excel に表示するところまではできているんで、マップ上のセルに座標(番号)をつけておきたいと思う。最終的な成果物で座標が必要になることはないと思うのだけど、ヘックスマップを見ながら検討するような場合に、何か目印になるようなものがあった方が便利だよね。Hexmap02.png

座標の振り方は単純にしよう。左上を原点にして、右あるいは下に行くにしたがって数値が増えていくような感じ。表記は X 座標, Y座標の並びとする。

ゼロから始まるのがなんとなく一般的ではなく変な感じもするけど、今のところはこれで良しとしよう。

さて、この座標値を眺めてみるといくつかの特徴が見えてくる。

  • 座標値は常に、偶数,偶数か奇数,奇数となる。偶数,奇数や奇数,偶数という組み合わせは存在しない。このサンプルは 8 × 16 のサイズなので、普通に数えると 128 セルあるはずなのだけど、実際に使用するセルは丁度半分の 64 しかない。
  • 任意のセルを考えた場合、隣接するセルとの位置関係は常に等しくなる。たとえば、上に隣接するセルは、X,Y-2 の座標値を持つことがわかる。

ひとつめの特徴から、このヘックスマップのメモリ使用量がある程度削れることがわかる。ふたつめの特徴からは、これから先に現れることになる各種のアルゴリズム(経路探索やら射程の判定やら)に、多少係数をかけることはあるかもしれないけど座標値をそのまま利用できるかもしれないと予想できる。

 各種アルゴリズムの話は次回以降にするとして、ヘックスマップの管理方法を簡単にかたずけてしまおう。

特に難しい話じゃない。図にある座標値の X 成分はそのまま、Y 成分を 2 で割った値(小数点以下は切り捨てる)を考える。出来上がった値を配列のインデックスとして扱えば、面倒くさそうに見えるヘックスマップを単純な二次元配列で表すことができてしまうことがわかる。

ヘックスマップ上の 2 点を考える場合、ウォー・シミュレーションでは 2 つの計測の方法が考えられる。自分のユニットから相手のユニットを攻撃する際の射程と、自分のユニットを特定のセルまで移動させる道程の考え方。ただ、現時点で後者の道程に関する考察をするには少しばかり情報が足りない。ユニットの属性(移動量)や地形の属性の検討ののちということになる。

ということで、次回は射程の考え方です。


nice!(0)  コメント(0)  トラックバック(0) 
共通テーマ:パソコン・インターネット

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0

六角形射程 ブログトップ

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。