예제 #1
0
 def playPGNshow(self, recno):
     db = PantallaPlayPGN.PlayPGNs(self.configuracion.ficheroPlayPGN)
     w = PantallaPlayPGN.WPlay1(self.pantalla, self.configuracion, db, recno)
     if w.exec_():
         if w.recno is not None:
             siBlancas = w.siBlancas
             self.gestor = GestorPlayPGN.GestorUnJuego(self)
             self.gestor.inicio(w.recno, siBlancas)
     db.close()
예제 #2
0
 def playPGN(self):
     w = PantallaPlayPGN.WPlayBase(self.procesador)
     if w.exec_():
         recno = w.recno
         if recno is not None:
             siBlancas = w.siBlancas
             db = PantallaPlayPGN.PlayPGNs(self.configuracion.ficheroPlayPGN)
             reg = db.leeRegistro(recno)
             partidaObj = Partida.Partida()
             partidaObj.recuperaDeTexto(reg["PARTIDA"])
             nombreObj = reg.get("WHITE" if siBlancas else "BLACK", _("Player"))
             self.procesador.gestor = GestorUnJuego.GestorUnJuego(self.procesador)
             self.procesador.gestor.inicio(recno, partidaObj, nombreObj, siBlancas, db.rotulo(recno))
             db.close()
예제 #3
0
 def playPGN(self):
     w = PantallaPlayPGN.WPlayBase(self)
     if w.exec_():
         recno = w.recno
         if recno is not None:
             siBlancas = w.siBlancas
             self.gestor = GestorPlayPGN.GestorUnJuego(self)
             self.gestor.inicio(recno, siBlancas)
예제 #4
0
    def inicio(self, recno, siBlancas):

        db = PantallaPlayPGN.PlayPGNs(self.configuracion.ficheroPlayPGN)
        reg = db.leeRegistro(recno)
        partidaObj = Partida.Partida()
        partidaObj.recuperaDeTexto(reg["PARTIDA"])
        nombreObj = reg.get("WHITE" if siBlancas else "BLACK", _("Player"))
        rotulo = db.rotulo(recno)
        db.close()

        self.recno = recno
        self.siCompetitivo = False
        self.resultado = None
        self.siJuegaHumano = False
        self.analisis = None
        self.comentario = None
        self.siAnalizando = False
        self.siJugamosConBlancas = siBlancas
        self.siRivalConBlancas = not siBlancas
        self.numJugadasObj = partidaObj.numJugadas()
        self.partidaObj = partidaObj
        self.posJugadaObj = 0
        self.nombreObj = nombreObj

        self.siSave = False
        self.minTiempo = 5000

        self.xanalyzer.maximizaMultiPV()

        self.puntosMax = 0
        self.puntos = 0
        self.tiempo = 0.0

        self.book = Apertura.AperturaPol(999)

        self.pantalla.ponToolBar(
            (k_cancelar, k_reiniciar, k_configurar, k_utilidades))

        self.pantalla.activaJuego(True, False, siAyudas=False)
        self.quitaAyudas(True, True)

        self.ponMensajero(self.mueveHumano)
        self.ponPosicion(self.partida.ultPosicion)
        self.ponPiezasAbajo(self.siJugamosConBlancas)
        self.mostrarIndicador(True)
        self.ponRotulo1(rotulo)
        self.ponRotulo2("")

        self.pgnRefresh(True)
        self.ponCapInfoPorDefecto()
        self.ponPosicionDGT()

        self.estado = kJugando
        self.siguienteJugada()
예제 #5
0
    def tw_play_against(self):
        li = self.grid.recnosSeleccionados()
        if li:
            recno = li[0]
            raw = self.dbGames.leeAllRecno(recno)
            xpv = raw["XPV"]
            partidaCompleta = self.dbGames.leePartidaRaw(raw)
            h = hash(xpv)
            dbPlay = PantallaPlayPGN.PlayPGNs(self.configuracion.ficheroPlayPGN)
            recplay = dbPlay.recnoHash(h)
            if recplay is None:
                dic = Util.SymbolDict()
                for tag, value in partidaCompleta.liTags:
                    dic[tag] = value
                dic["PARTIDA"] = partidaCompleta.guardaEnTexto()
                dbPlay.appendHash(h, dic)
                recplay = dbPlay.recnoHash(h)
            dbPlay.close()

            self.tw_terminar()
            self.procesador.playPGNshow(recplay)
예제 #6
0
    def guardar(self):
        db = PantallaPlayPGN.PlayPGNs(self.configuracion.ficheroPlayPGN)
        reg = db.leeRegistro(self.recno)

        dicIntento = {
            "DATE": Util.hoy(),
            "COLOR": "w" if self.siJugamosConBlancas else "b",
            "POINTS": self.puntos,
            "POINTSMAX": self.puntosMax,
            "TIME": self.tiempo
        }

        if "LIINTENTOS" not in reg:
            reg["LIINTENTOS"] = []
        reg["LIINTENTOS"].insert(0, dicIntento)

        if self.siSave:
            reg["PARTIDA"] = self.partidaObj.guardaEnTexto()
            self.siSave = False

        db.cambiaRegistro(self.recno, reg)

        db.close()