さまざまな補助関数

いくつかの補助関数(ユーティリティー)を規定しています。

# --------------------------------------------------- after -----
class HexStone(GameItem):
def width (self, g): return self.deltaX
def height(self, g): return self.deltaY

def isExistPoint(self, x, y):
px, py = self._points()
X, Y = x-px, y-py
return X*X+Y*Y <= self._R2

def _points(self):
x = self.x*self.deltaX+self._width
y = self.y*self.deltaY+self._height
return x, y

〈新規〉目に見えるコマ HexStone は、後述する目に見えないコマ NullStone を包括する機能を提供します。

# --------------------------------------------------- after -----
class NullStone(HexStone):
def __nonzero__(self): return False
def paintItem(self, g): pass

N = HexOthelloPanel.dim + 1
nullStone = NullStone(None, None, None)

〈新規〉目に見えないコマ NullStone は、特殊なコマ HexStone と見なせます。これは、大域変数 nullStone を介して参照される Singleton です。つまり、広く盤面に配置されているように見えても、その実体は sole-instance です。


Previous|5/5|Next