def __init__(self): d = Desk() self.position = d.get_position() self.side = d.side self.desk_coords = d.desk_coords self.desk = d
def refresh_desk(self): time.sleep(2) d = Desk(self.side, self.desk_coords) self.position = d.get_position() print 'refreshed'
def get_move(self): old_position = self.position d = Desk(self.side, self.desk_coords) position = d.get_position() diff = position.symmetric_difference(old_position) print '#'*10 print 'old' print old_position print '#'*10 print 'new' print position print '#'*10 print 'diff' print diff print '#'*10 from_move = None to_move = None figure = '' if len(diff) == 2: # Просто ход фигуры и пешка дошла до края from_figure = None to_figure = None for i in diff: if {i}.issubset(old_position): from_move = i[0] from_figure = i[1] else: to_move = i[0] to_figure = i[1] if to_figure != from_figure: figure = to_figure[0] elif len(diff) == 3: # Срубили фигуру и взятие на проходе fig = None for i in diff: if {i}.issubset(position): to_move = i[0] fig = i[1] for i in diff: if i[1] == fig and i[0] != to_move: from_move = i[0] elif len(diff) == 4: # Рокировка for i in diff: if i[1][0] == 'k': if {i}.issubset(old_position): from_move = i[0] else: to_move = i[0] # elif len(diff) == 0: # return None # else: # print diff # plot(d.desk) if from_move is None: return None else: step = '%s%s%s' %(from_move, to_move, figure) return step