Beispiel #1
0
    def nuevoAnalisis(self, fenM2, infoDispatch):
        alm = PantallaParamAnalisis.paramAnalisis(self.pantalla,
                                                  VarGen.configuracion,
                                                  False,
                                                  siTodosMotores=True)
        if alm is None:
            return
        configuracion = VarGen.configuracion
        confMotor = configuracion.buscaMotor(alm.motor)
        confMotor.actMultiPV(alm.multiPV)

        xmotor = self.procesador.creaGestorMotor(confMotor,
                                                 alm.tiempo,
                                                 alm.depth,
                                                 siMultiPV=True)

        me = QTUtil2.analizando(self.pantalla)
        mrm = xmotor.analiza(fenM2 + " 0 1")
        mrm.tiempo = alm.tiempo / 1000.0

        mrm.rotulo = ("%s %.0f\"" % (mrm.nombre, mrm.tiempo))
        xmotor.terminar()
        me.final()

        self.dbAnalisis.nuevo(fenM2, mrm)

        self.dispatchAnalisis(infoDispatch)
Beispiel #2
0
 def crear(self):
     alm = PantallaParamAnalisis.paramAnalisis(self,
                                               VarGen.configuracion,
                                               False,
                                               siTodosMotores=True)
     if alm:
         um = self.mAnalisis.creaMuestra(self, alm)
         self.crearMuestra(um)
Beispiel #3
0
    def nuevoAnalisis(self, fenM2, infoDispatch):
        alm = PantallaParamAnalisis.paramAnalisis(self.pantalla, VarGen.configuracion, False, siTodosMotores=True)
        if alm is None:
            return
        configuracion = VarGen.configuracion
        confMotor = configuracion.buscaMotor(alm.motor)
        confMotor.actMultiPV(alm.multiPV)

        xmotor = self.procesador.creaGestorMotor(confMotor, alm.tiempo, alm.depth, siMultiPV=True)

        me = QTUtil2.analizando(self.pantalla)
        mrm = xmotor.analiza(fenM2 + " 0 1")
        mrm.tiempo = alm.tiempo / 1000.0

        mrm.rotulo = ("%s %.0f\"" % (mrm.nombre, mrm.tiempo))
        xmotor.terminar()
        me.final()

        self.dbAnalisis.nuevo(fenM2, mrm)

        self.dispatchAnalisis(infoDispatch)
Beispiel #4
0
    def nuevoAnalisis(self, lm):
        fen = lm.partidaBase.ultPosicion.fen()
        alm = PantallaParamAnalisis.paramAnalisis(self, VarGen.configuracion, False, siTodosMotores=True)
        if alm is None:
            return
        confMotor = VarGen.configuracion.buscaMotor(alm.motor)
        confMotor.actMultiPV(alm.multiPV)
        # confMotor.debug( "rival" )

        xmotor = self.procesador.creaGestorMotor(confMotor, alm.tiempo, alm.depth, siMultiPV=True)

        me = QTUtil2.analizando(self)
        mrm = xmotor.analiza(fen)
        mrm.tiempo = alm.tiempo / 1000.0
        mrm.depth = alm.depth

        tipo = "%s=%d" % (_("Depth"), mrm.depth) if mrm.depth else "%.0f\"" % mrm.tiempo
        mrm.rotulo = ("%s %s" % (mrm.nombre, tipo))
        xmotor.terminar()
        me.final()

        lm.liAnalisis.append(mrm)
        self.ponAnalisis(lm, len(lm.liAnalisis) - 1)
Beispiel #5
0
    def masivo(self):

        liSeleccionadas = self.grid.recnosSeleccionados()
        nSeleccionadas = len(liSeleccionadas)

        alm = PantallaParamAnalisis.paramAnalisisMasivo(
            self, self.gestor.configuracion, nSeleccionadas > 1)
        if alm:

            if alm.siVariosSeleccionados:
                nregs = nSeleccionadas
            else:
                nregs = self.dbf.reccount()

            tmpBP = QTUtil2.BarraProgreso2(self,
                                           _("Mass analysis"),
                                           formato2="%p%")
            tmpBP.ponTotal(1, nregs)
            tmpBP.ponRotulo(1, _("Game"))
            tmpBP.ponRotulo(2, _("Moves"))
            tmpBP.mostrar()

            import Code.Analisis

            ap = Code.Analisis.AnalizaPartida(self.gestor.procesador, alm,
                                              True)

            for n in range(nregs):

                if tmpBP.siCancelado():
                    break

                tmpBP.pon(1, n + 1)

                if alm.siVariosSeleccionados:
                    n = liSeleccionadas[n]

                self.dbf.goto(n)
                self.grid.goto(n, 0)

                jugadas = self.dbf.leeOtroCampo(n, "PGN")

                pgn = PGN.UnPGN()
                pgn.leeTexto(jugadas)

                ap.xprocesa(pgn.dic, pgn.partida, tmpBP, jugadas)

            if not tmpBP.siCancelado():
                ap.terminar(True)

                liCreados = []
                liNoCreados = []

                if alm.tacticblunders:
                    if ap.siTacticBlunders:
                        liCreados.append(alm.tacticblunders)
                    else:
                        liNoCreados.append(alm.tacticblunders)

                for x in (alm.pgnblunders, alm.fnsbrilliancies,
                          alm.pgnbrilliancies):
                    if x:
                        if Util.existeFichero(x):
                            liCreados.append(x)
                        else:
                            liNoCreados.append(x)

                if alm.bmtblunders:
                    if ap.siBMTblunders:
                        liCreados.append(alm.bmtblunders)
                    else:
                        liNoCreados.append(alm.bmtblunders)
                if alm.bmtbrilliancies:
                    if ap.siBMTbrilliancies:
                        liCreados.append(alm.bmtbrilliancies)
                    else:
                        liNoCreados.append(alm.bmtbrilliancies)
                mensajeEntrenamientos(self, liCreados, liNoCreados)

            else:
                ap.terminar(False)

            tmpBP.cerrar()
Beispiel #6
0
 def crear(self):
     alm = PantallaParamAnalisis.paramAnalisis(self, VarGen.configuracion, False, siTodosMotores=True)
     if alm:
         um = self.mAnalisis.creaMuestra(self, alm)
         self.crearMuestra(um)
Beispiel #7
0
    def masivo(self):

        liSeleccionadas = self.grid.recnosSeleccionados()
        nSeleccionadas = len(liSeleccionadas)

        alm = PantallaParamAnalisis.paramAnalisisMasivo(self, self.gestor.configuracion, nSeleccionadas > 1)
        if alm:

            if alm.siVariosSeleccionados:
                nregs = nSeleccionadas
            else:
                nregs = self.dbf.reccount()

            tmpBP = QTUtil2.BarraProgreso2(self, _("Mass analysis"), formato2="%p%")
            tmpBP.ponTotal(1, nregs)
            tmpBP.ponRotulo(1, _("Game"))
            tmpBP.ponRotulo(2, _("Moves"))
            tmpBP.mostrar()

            import Code.Analisis

            ap = Code.Analisis.AnalizaPartida(self.gestor.procesador, alm, True)

            for n in range(nregs):

                if tmpBP.siCancelado():
                    break

                tmpBP.pon(1, n + 1)

                if alm.siVariosSeleccionados:
                    n = liSeleccionadas[n]

                self.dbf.goto(n)
                self.grid.goto(n, 0)

                jugadas = self.dbf.leeOtroCampo(n, "PGN")

                pgn = PGN.UnPGN()
                pgn.leeTexto(jugadas)

                ap.xprocesa(pgn.dic, pgn.partida, tmpBP, jugadas)

            if not tmpBP.siCancelado():
                ap.terminar(True)

                liCreados = []
                liNoCreados = []

                if alm.tacticblunders:
                    if ap.siTacticBlunders:
                        liCreados.append(alm.tacticblunders)
                    else:
                        liNoCreados.append(alm.tacticblunders)

                for x in ( alm.pgnblunders, alm.fnsbrilliancies, alm.pgnbrilliancies):
                    if x:
                        if Util.existeFichero(x):
                            liCreados.append(x)
                        else:
                            liNoCreados.append(x)

                if alm.bmtblunders:
                    if ap.siBMTblunders:
                        liCreados.append(alm.bmtblunders)
                    else:
                        liNoCreados.append(alm.bmtblunders)
                if alm.bmtbrilliancies:
                    if ap.siBMTbrilliancies:
                        liCreados.append(alm.bmtbrilliancies)
                    else:
                        liNoCreados.append(alm.bmtbrilliancies)
                mensajeEntrenamientos(self, liCreados, liNoCreados)

            else:
                ap.terminar(False)

            tmpBP.cerrar()
Beispiel #8
0
def analizaPartida(gestor):
    partida = gestor.partida
    procesador = gestor.procesador
    pantalla = gestor.pantalla
    pgn = gestor.pgn

    alm = PantallaParamAnalisis.paramAnalisis(pantalla,
                                              procesador.configuracion, True)

    if alm is None:
        return

    liJugadas = []
    lni = Util.ListaNumerosImpresion(alm.jugadas)
    numJugada = int(partida.primeraJugada())
    siBlancas = not partida.siEmpiezaConNegras
    for nRaw in range(partida.numJugadas()):
        siGrabar = lni.siEsta(numJugada)
        if siGrabar:
            if siBlancas:
                if not alm.blancas:
                    siGrabar = False
            elif not alm.negras:
                siGrabar = False
        if siGrabar:
            liJugadas.append(nRaw)
        siBlancas = not siBlancas
        if siBlancas:
            numJugada += 1

    mensaje = _("Analyzing the move....")
    numJugadas = len(liJugadas)
    tmpBP = QTUtil2.BarraProgreso(pantalla, _("Analysis"), mensaje,
                                  numJugadas).mostrarAD()

    ap = AnalizaPartida(procesador, alm, False, liJugadas)

    def dispatchBP(pos, ntotal, njg):
        tmpBP.mensaje(mensaje + " %d/%d" % (pos + 1, ntotal))
        jg = partida.jugada(njg)
        gestor.ponPosicion(jg.posicion)
        gestor.pantalla.pgnColocate(njg / 2, (njg + 1) % 2)
        gestor.tablero.ponFlechaSC(jg.desde, jg.hasta)
        gestor.ponVista()

    ap.dispatchBP(dispatchBP)

    ap.xprocesa(pgn.dicCabeceraActual(), partida, tmpBP, pgn.actual())

    notCanceled = not tmpBP.siCancelado()
    ap.terminar(notCanceled)

    if notCanceled:
        liCreados = []
        liNoCreados = []

        if alm.tacticblunders:
            if ap.siTacticBlunders:
                liCreados.append(alm.tacticblunders)
            else:
                liNoCreados.append(alm.tacticblunders)

        for x in (alm.pgnblunders, alm.fnsbrilliancies, alm.pgnbrilliancies):
            if x:
                if Util.existeFichero(x):
                    liCreados.append(x)
                else:
                    liNoCreados.append(x)

        if alm.bmtblunders:
            if ap.siBMTblunders:
                liCreados.append(alm.bmtblunders)
            else:
                liNoCreados.append(alm.bmtblunders)
        if alm.bmtbrilliancies:
            if ap.siBMTbrilliancies:
                liCreados.append(alm.bmtbrilliancies)
            else:
                liNoCreados.append(alm.bmtbrilliancies)

        if liCreados or liNoCreados:
            PantallaPGN.mensajeEntrenamientos(pantalla, liCreados, liNoCreados)

    tmpBP.cerrar()

    gestor.ponteAlFinal()

    if notCanceled:
        if alm.showGraphs:
            gestor.showAnalisis()
Beispiel #9
0
def analizaPartida(gestor):
    partida = gestor.partida
    procesador = gestor.procesador
    pantalla = gestor.pantalla
    pgn = gestor.pgn

    alm = PantallaParamAnalisis.paramAnalisis(pantalla, procesador.configuracion, True)

    if alm is None:
        return

    liJugadas = []
    lni = Util.ListaNumerosImpresion(alm.jugadas)
    numJugada = int(partida.primeraJugada())
    siBlancas = not partida.siEmpiezaConNegras
    for nRaw in range(partida.numJugadas()):
        siGrabar = lni.siEsta(numJugada)
        if siGrabar:
            if siBlancas:
                if not alm.blancas:
                    siGrabar = False
            elif not alm.negras:
                siGrabar = False
        if siGrabar:
            liJugadas.append(nRaw)
        siBlancas = not siBlancas
        if siBlancas:
            numJugada += 1

    mensaje = _("Analyzing the move....")
    numJugadas = len(liJugadas)
    tmpBP = QTUtil2.BarraProgreso(pantalla, _("Analysis"), mensaje, numJugadas).mostrarAD()

    ap = AnalizaPartida(procesador, alm, False, liJugadas)

    def dispatchBP(pos, ntotal, njg):
        tmpBP.mensaje(mensaje + " %d/%d" % ( pos + 1, ntotal))
        jg = partida.liJugadas[njg]
        gestor.ponPosicion(jg.posicion)
        gestor.pantalla.pgnColocate(njg / 2, (njg + 1) % 2)
        gestor.tablero.ponFlechaSC(jg.desde, jg.hasta)
        gestor.ponVista()

    ap.dispatchBP(dispatchBP)

    ap.xprocesa(pgn.dicCabeceraActual(), partida, tmpBP, pgn.actual())

    notCanceled = not tmpBP.siCancelado()
    ap.terminar(notCanceled)

    if notCanceled:
        liCreados = []
        liNoCreados = []

        if alm.tacticblunders:
            if ap.siTacticBlunders:
                liCreados.append(alm.tacticblunders)
            else:
                liNoCreados.append(alm.tacticblunders)

        for x in (alm.pgnblunders, alm.fnsbrilliancies, alm.pgnbrilliancies):
            if x:
                if Util.existeFichero(x):
                    liCreados.append(x)
                else:
                    liNoCreados.append(x)

        if alm.bmtblunders:
            if ap.siBMTblunders:
                liCreados.append(alm.bmtblunders)
            else:
                liNoCreados.append(alm.bmtblunders)
        if alm.bmtbrilliancies:
            if ap.siBMTbrilliancies:
                liCreados.append(alm.bmtbrilliancies)
            else:
                liNoCreados.append(alm.bmtbrilliancies)

        if liCreados or liNoCreados:
            PantallaPGN.mensajeEntrenamientos(pantalla, liCreados, liNoCreados)

    tmpBP.cerrar()

    gestor.ponteAlFinal()

    if notCanceled:
        if alm.showGraphs:
            gestor.showAnalisis()