示例#1
0
    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
示例#2
0
    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()