Copyright(c)AOTAKA 1995-2003 - www.aotaka.jp |
通常のマップではHEXタイプ(6角形)やら正方形のマスを並べただけの物まで様々である。正方形の内は情報処理に苦労する者はいないだろうがHEXともなるとひらめきが必要になる。
|
012345678→x /\/\/\/\/\ 0|00|20|40|60|80| \/\/\/\/\/ 1 |11|31|51|71| /\/\/\/\/\ 2|02|22|42|62| | \/\/\/\/\/ 3 |13|33|53| | ↓ /\/\/\/\/\ y 4|04|24|44| | | \/\/\/\/\/ |
||||||||||||||||||||||||||||||||||||||
図1.正方形のマス | 図2.ヘックスなマス |
図1でのプレイヤー及び敵は単純に上下左右に移動することによって1歩動いたことになるので計算は難しくないであろう。結論から言えば
移動可能量 ⇒ 縦座標の変化量[絶対値] + 横座標の変化量[絶対値]
と言う式が成り立つ。これは1歩動くと言うことは
の内のどれかを行えばよいからである。
図2になると少々難しくなるが、同様に1歩動くと言うことは、縦・横の座標値の変化が2になるのである。つまり上の式と同じに表現すれば
移動可能量 ⇒ ( 縦座標の変化量[絶対値] + 横座標の変化量[絶対値] )÷2
ただし、縦座標の変化量[絶対値]<4
と言う式で表すことができる。1歩動くと言うことは
の内のどれかを行えばよいからである。ちなみに縦座標の変化量[絶対値]≦4というのはたとえば真下に移動しようとすると、横方向がどうしても相殺されてしまうためである。ヘックスタイプ自体がx軸とy軸で対称ではないのでこれくらいは仕方がない。
なお「だからど〜した」という突っ込みはしないように(ぉ
だってボキの素晴らしい論文(アオタカ談)が没くらっちゃったんだもん