Hexの座標系とか

 ぬ?よくよく考えてみると、Hexの座標の扱いってかなりカオスじゃね?

というお話。





 Hexのある位置からの等距離感覚で駒を配置すると、



2 2 2
2 1 1 2
2 1 0 1 2
2 1 1 2
2 2 2
こんな感じで広がっていくと思うんだけど、

 レバーで操作するとした場合、

…上下左右に倒した時、どう動くのよ?と疑問に思ったわけです。



 普通に考えると、上図の「0」を画面中央に置くのは無謀なので、

画面最左上に配置して、ここを基準点の(0, 0)とする。

で、そこから配置していけば配置は問題ない。

…で、移動させる時。

左右はそのまんまだけど、上下は必ず右か左に偏った動きになる…ような気がするんだけどいいのかな。


g r q
h a f p
i b 0 e o
j c d n
k l m
上図の場合、

上 → f

下 → d

左 → b

右 → e

になるわけだけど。

 …あー、でもいいのか。

見た目上のずれ具合は入力方向じゃなくて、座標の奇数偶数で出てるだけなのか、よくよく考えてみたら。

…下上で0→d→eって移動したら、それは(仕様上の)バグだよな…うん。



 んー、しかし、一番右端とかはどうするんだろ。

強制的に左が入ることになるんだけど…。

(0が一番右上と仮定した場合、下を入れてもdが存在しないので、cに移動せざるを得なくなる?)

…あーでも、段によって幅が違うと扱いづらいから、

Hexのゲームって大体「三」じゃなくて「>>>」みたいな形のフィールドになってるんだっけか?

……むー、ちゃんと研究しないとだめだな、コリャ。



 ・---追記

 あー、後この仮定でいくと、g,h,j,k,m,qが距離3に、a,cが距離2になるんだよね。

距離優先のHexと、座標軸優先のレバーは相性悪いのかねー…。