蜂の巣 comb

新たなゲーム用のモデル HexStone を規定します。

# --------------------------------------------------- after -----
class HexStone(GameItem):
_dx, _dy = 7, 4 # 7*7+4*4=65 <=> 8*8=64
_R2 = (_dx*2)**2
_width, _height = _dx*2, _dy*4
_dw, _dh = _dx*2, _dy*3
deltaX, deltaY = _dw+1, (_dh+1)*2
vertices = [(_dx*x, _dy*y) for x, y in
(1, 0), (2, 1), (2, 3), (1, 4), (0, 3), (0, 1)]
_nPoints = len(vertices)


クラス属性 _dx/_dy は、六角格子の最小単位を規定します。盤面は、幅 _dx=7 高さ _dy=4 を単位格子として、蜂の巣のような形状を構成します。
クラス属性 _width/_height は、六角格子を囲む矩形領域の幅/高さを表わします。
クラス属性 deltaX/deltaY は、六角格子を配置する間隔を表わします。横軸方向に1画素、縦軸方向に2画素の間隔を設けると、隣接するコマが形成する領地の美観を損ねる(窮屈な感じがする)のを防ぐ効果があります。
クラス属性 vertices は、六角格子の頂点のオフセット座標を列挙したリストです。