1from pychess.Utils.repr import reprColor, reprPiece 2 3 4class Piece: 5 def __init__(self, color, piece, captured=False): 6 self.color = color 7 self.piece = piece 8 self.captured = captured 9 10 # in crazyhouse we need to know this for later captures 11 self.promoted = False 12 13 self.opacity = 1.0 14 self.x = None 15 self.y = None 16 17 # Sign is a deprecated synonym for piece 18 def _set_sign(self, sign): 19 self.piece = sign 20 21 def _get_sign(self): 22 return self.piece 23 24 sign = property(_get_sign, _set_sign) 25 26 def __repr__(self): 27 represen = "<%s %s" % (reprColor[self.color], reprPiece[self.piece]) 28 if self.opacity != 1.0: 29 represen += " Op:%0.1f" % self.opacity 30 if self.x is not None or self.y is not None: 31 if self.x is not None: 32 represen += " X:%0.1f" % self.x 33 else: 34 represen += " X:None" 35 if self.y is not None: 36 represen += " Y:%0.1f" % self.y 37 else: 38 represen += " Y:None" 39 represen += ">" 40 return represen 41