Kogrom
Мне вот такой код не нравится:
for x in xrange(8):
self.board[x][1] = BlackFigure(name = u'пешка',image= self.manager.get_image('bp.png'))
self.board[x][6] = WhiteFigure(name = u'пешка' ,image= self.manager.get_image('wp.png'))
self.board[0][7] = WhiteFigure(name = u'ладья',image= self.manager.get_image('wl.png'))
...
self.board[3][0] = BlackFigure(name = u'ферзь' ,image= self.manager.get_image('bf.png'))
self.board[4][0] = BlackFigure(name = u'король',image= self.manager.get_image('bk.png'))
Ctrl-c, Ctrl-v какое-то. Не могу дать готового решения, но ожидалось что-то типа:
Доска.расставить_фигуры(…)
Ну и далее, ставим каждую фигуру в соответствии с классом, в соответствии с состоянием объекта. Наследование для черных и белых фигур - сомнительная фишка. Можно цвет в конструкторе задавать. Я бы наследовал пешек, слонов, ферзей и т.д. ибо у них и поведение разное и вид, и ценность.
Ну а в целом - нормально.
А я бы сделал что то типа такого
class Figure(Display):
def __init__(self,name='',image=None):
self.font = pygame.font.Font(None, 24)
if not image:
image = self.font.render(name, 0, {'black':(0,0,0),'white':(250,250,250)}[self.color])
self.image = image
def draw(self,source,pos):
source.blit(self.image, (pos[0]*60,pos[1]*60))
color = "undefined"
position = [0,0]
Потом одмин славарем бы задал начальные значение в классе доски.