def liVariantesPV(self, jg): liResp = [] if jg.variantes: fen = jg.posicionBase.fen() for una in jg.variantes.split("\n"): g = PGNreader.Game() g.fen = fen g.readBody(una) if g.plies(): liResp.append((g.move(0).desde, g.move(0).hasta)) return liResp
def mueve(self, fila, siBlancas): siEmpiezaConNegras = self.gestor.partida.siEmpiezaConNegras if fila == 0 and siBlancas and siEmpiezaConNegras: return lj = self.gestor.partida.liJugadas pos = fila * 2 if not siBlancas: pos += 1 if siEmpiezaConNegras: pos -= 1 tam_lj = len(lj) if tam_lj: siUltimo = (pos + 1) >= tam_lj if siUltimo: pos = tam_lj - 1 jg = self.gestor.partida.jugada(pos) self.gestor.ponPosicion(jg.posicion) lipvvar = [] if self.showVariantes: if jg.variantes: fen = jg.posicionBase.fen() for una in jg.variantes.split("\n"): g = PGNreader.Game() g.fen = fen g.readBody(una) if g.plies(): lipvvar.append((g.move(0).desde, g.move(0).hasta)) self.gestor.ponFlechaSC(jg.desde, jg.hasta, lipvvar) if siUltimo: self.gestor.ponRevision(False) if self.gestor.siJuegaHumano and self.gestor.estado == kJugando: self.gestor.activaColor(self.gestor.siJugamosConBlancas) else: self.gestor.ponRevision(self.gestor.estado == kJugando) self.gestor.desactivaTodas() self.gestor.refresh()