def grabaDic(self):
        rk = Util.Record()
        rk.gm = self.cbGM.valor()
        if rk.gm is None:
            rk.modo = "personal"
            rk.gm = self.cbPersonal.valor()
            if rk.gm is None:
                return False
        else:
            rk.modo = "estandar"
        rk.partidaElegida = None
        rk.siBlancas = self.rbBlancas.isChecked()
        rk.siJuez = self.gbJ.isChecked()
        rk.showevals = self.chbEvals.valor()
        rk.motor = self.cbJmotor.valor()
        rk.tiempo = int(self.edJtiempo.textoFloat() * 10)
        rk.mostrar = self.cbJshow.valor()
        rk.depth = self.cbJdepth.valor()
        rk.multiPV = self.cbJmultiPV.valor()
        rk.jugContrario = self.chContrario.isChecked()
        rk.jugInicial = self.edJugInicial.valor()
        if rk.siJuez and rk.tiempo <= 0 and rk.depth == 0:
            rk.siJuez = False
        rk.bypassBook = self.cbBooks.valor()
        rk.apertura = self.bloqueApertura

        default = "WGM" if self.siWoman else "GM"

        carpeta = default if rk.modo == "estandar" else self.configuracion.dirPersonalTraining
        self.ogm = GM.GM(carpeta, rk.gm)
        self.ogm.colorFilter(rk.siBlancas)
        if not len(self.ogm):
            QTUtil2.mensError(self,
                              _("There are no games to play with this color"))
            return False

        self.ogm.isErasable = rk.modo == "personal"  # para saber si se puede borrar
        self.record = rk
        self.record.siWoman = self.siWoman
        dic = {}

        for atr in dir(self.record):
            if not atr.startswith("_"):
                dic[atr.upper()] = getattr(self.record, atr)
        dic["APERTURASFAVORITAS"] = self.liAperturasFavoritas

        Util.guardaDIC(dic, self.configuracion.ficheroGM)

        return True
示例#2
0
    def grabaDic(self):
        rk = Util.Record()
        rk.gm = self.cbGM.valor()
        if rk.gm is None:
            rk.modo = "personal"
            rk.gm = self.cbPersonal.valor()
            if rk.gm is None:
                return False
        else:
            rk.modo = "estandar"
        rk.partidaElegida = None
        rk.is_white = self.rbBlancas.isChecked()
        rk.siJuez = self.gbJ.isChecked()
        rk.showevals = self.chbEvals.valor()
        rk.engine = self.cbJmotor.valor()
        rk.vtime = int(self.edJtiempo.textoFloat() * 10)
        rk.mostrar = self.cbJshow.valor()
        rk.depth = self.cbJdepth.valor()
        rk.multiPV = self.cbJmultiPV.valor()
        rk.jugContrario = self.chContrario.isChecked()
        rk.jugInicial = self.edJugInicial.valor()
        if rk.siJuez and rk.vtime <= 0 and rk.depth == 0:
            rk.siJuez = False
        rk.bypassBook = self.cbBooks.valor()
        rk.opening = self.bloqueApertura

        default = Code.path_resource("GM")

        carpeta = default if rk.modo == "estandar" else self.configuracion.dirPersonalTraining
        self.ogm = GM.GM(carpeta, rk.gm)
        self.ogm.colorFilter(rk.is_white)
        if not len(self.ogm):
            QTUtil2.message_error(
                self, _("There are no games to play with this color"))
            return False

        self.ogm.isErasable = rk.modo == "personal"  # para saber si se puede borrar
        self.record = rk
        dic = {}

        for atr in dir(self.record):
            if not atr.startswith("_"):
                dic[atr.upper()] = getattr(self.record, atr)
        dic["APERTURASFAVORITAS"] = self.liAperturasFavoritas

        Util.save_pickle(self.configuracion.file_gms(), dic)

        return True
示例#3
0
    def inicio(self, record):

        self.tipoJuego = kJugGM

        self.ayudas = 9999  # Para que analice sin problemas

        self.puntos = 0

        self.record = record

        self.gm = record.gm
        self.siBlancas = record.siBlancas
        self.modo = record.modo
        self.siJuez = record.siJuez
        self.showevals = record.showevals
        self.motor = record.motor
        self.tiempo = record.tiempo
        self.depth = record.depth
        self.multiPV = record.multiPV
        self.mostrar = record.mostrar
        self.jugContrario = record.jugContrario
        self.jugInicial = record.jugInicial
        self.partidaElegida = record.partidaElegida
        self.bypassBook = record.bypassBook
        self.apertura = record.apertura
        self.onBypassBook = True if self.bypassBook else False
        if self.onBypassBook:
            self.bypassBook.polyglot()
        self.onApertura = True if self.apertura else False

        self.siAnalizando = False

        if self.siJuez:
            self.puntos = 0
            tutor = self.configuracion.buscaRivalExt(self.motor)
            t_t = self.tiempo * 100
            self.xtutor = self.procesador.creaGestorMotor(
                tutor, t_t, self.depth)
            self.xtutor.actMultiPV(self.multiPV)
            self.analisis = None

        self.book = Apertura.AperturaPol(999)

        self.pensando(True)

        carpeta = "GM" if self.modo == "estandar" else self.configuracion.dirPersonalTraining
        self.motorGM = GM.GM(carpeta, self.gm)
        self.motorGM.colorFilter(self.siBlancas)
        if self.partidaElegida is not None:
            self.motorGM.ponPartidaElegida(self.partidaElegida)

        self.siJugamosConBlancas = self.siBlancas
        self.siRivalConBlancas = not self.siBlancas
        self.pensando(False)

        self.pantalla.ponToolBar(
            (k_mainmenu, k_reiniciar, k_configurar, k_utilidades))
        self.pantalla.activaJuego(True, False)
        self.ponMensajero(self.mueveHumano)
        self.ponPosicion(self.partida.ultPosicion)
        self.mostrarIndicador(True)
        self.quitaAyudas()
        self.ponPiezasAbajo(self.siBlancas)
        dic = GM.dicGM()
        self.nombreGM = dic[
            self.gm.lower()] if self.modo == "estandar" else self.gm
        rotulo1 = _(
            "Grandmaster"
        ) + ": <b>%s</b>" if self.modo == "estandar" else "<b>%s</b>"
        self.ponRotulo1(rotulo1 % self.nombreGM)

        self.nombreRival = ""
        self.textoPuntuacion = ""
        self.ponRotuloSecundario()
        self.pgnRefresh(True)
        self.ponCapInfoPorDefecto()

        self.estado = kJugando

        self.ponPosicionDGT()

        self.siguienteJugada()
示例#4
0
    def inicio(self, record):

        self.game_type = GT_AGAINST_GM

        self.ayudas = 9999  # Para que analice sin problemas

        self.puntos = 0

        self.record = record

        self.gm = record.gm
        self.is_white = record.is_white
        self.modo = record.modo
        self.siJuez = record.siJuez
        self.showevals = record.showevals
        self.engine = record.engine
        self.vtime = record.vtime
        self.depth = record.depth
        self.multiPV = record.multiPV
        self.mostrar = record.mostrar
        self.jugContrario = record.jugContrario
        self.jugInicial = record.jugInicial
        self.partidaElegida = record.partidaElegida
        self.bypassBook = record.bypassBook
        self.opening = record.opening
        self.onBypassBook = True if self.bypassBook else False
        if self.onBypassBook:
            self.bypassBook.polyglot()
        self.onApertura = True if self.opening else False

        self.siAnalizando = False

        if self.siJuez:
            self.puntos = 0
            tutor = self.configuracion.buscaRival(self.engine)
            t_t = self.vtime * 100
            self.xtutor = self.procesador.creaGestorMotor(tutor, t_t, self.depth)
            self.xtutor.actMultiPV(self.multiPV)
            self.analysis = None

        self.book = Apertura.AperturaPol(999)

        self.pensando(True)

        default = Code.path_resource("GM")
        carpeta = default if self.modo == "estandar" else self.configuracion.dirPersonalTraining
        self.motorGM = GM.GM(carpeta, self.gm)
        self.motorGM.colorFilter(self.is_white)
        if self.partidaElegida is not None:
            self.motorGM.ponPartidaElegida(self.partidaElegida)

        self.is_human_side_white = self.is_white
        self.is_engine_side_white = not self.is_white
        self.pensando(False)

        self.main_window.pon_toolbar((TB_CLOSE, TB_REINIT, TB_CONFIG, TB_UTILITIES))
        # self.main_window.pon_toolbar((TB_CLOSE, TB_REINIT, TB_ADJOURN, TB_CONFIG, TB_UTILITIES))
        self.main_window.activaJuego(True, False)
        self.set_dispatcher(self.mueve_humano)
        self.setposition(self.game.last_position)
        self.mostrarIndicador(True)
        self.quitaAyudas()
        self.ponPiezasAbajo(self.is_white)
        dic = GM.dic_gm()
        self.nombreGM = dic[self.gm.lower()] if self.modo == "estandar" else self.gm
        rot = _("Grandmaster")
        rotulo1 = rot + ": <b>%s</b>" if self.modo == "estandar" else "<b>%s</b>"
        self.ponRotulo1(rotulo1 % self.nombreGM)

        self.nombreRival = ""
        self.textoPuntuacion = ""
        self.ponRotuloSecundario()
        self.pgnRefresh(True)
        self.ponCapInfoPorDefecto()

        self.state = ST_PLAYING

        self.dgt_setposition()

        self.siguiente_jugada()