Example #1
0
    def __init__(self, owner, db_mate15, mate15):

        QTVarios.WDialogo.__init__(self, owner, _("Mate in 1½"), Iconos.Mate15(), "runmate15")

        self.configuration = Code.configuration
        self.mate15 = mate15
        self.db_mate15 = db_mate15

        conf_board = self.configuration.config_board("RUNMATE15", 64)

        self.board = Board.BoardEstatico(self, conf_board)
        self.board.crea()

        # Rotulo informacion
        self.lb_info = Controles.LB(self, "[%d] %s" % (self.mate15.pos + 1, self.mate15.info))
        self.lb_info.ponTipoLetra(puntos=self.configuration.x_pgn_fontpoints).align_center().set_wrap()
        self.lb_info.setStyleSheet("QWidget { background-color: #1f497d; color: #FFFFFF;padding: 16px; }")

        self.lb_first_move = Controles.LB(self).ponTipoLetra(puntos=12, peso=500)

        self.bt_check = Controles.PB(self, _("Check"), self.check, False).ponIcono(Iconos.Check(), icon_size=20)

        self.lb_result = Controles.LB(self).ponTipoLetra(puntos=12, peso=500)

        # Movimientos
        self.li_lb_wm = []
        ly = Colocacion.G().margen(4)
        for row in range(10):
            lb = Controles.LB(self).ponTipoLetra(puntos=12, peso=500)
            wm = WRunCommon.WEdMove(self)
            self.li_lb_wm.append((lb, wm))
            ly.controld(lb, row, 0)
            ly.columnaVacia(1, 20)
            ly.control(wm, row, 2)
            lb.hide()
            wm.hide()
        ly.filaVacia(10, 20)
        ly.controlc(self.bt_check, 11, 0, numColumnas=3)
        ly.controlc(self.lb_result, 12, 0, numColumnas=3)
        self.gb = Controles.GB(self, _("Next moves and their solutions"), ly).ponFuente(Controles.TipoLetra(puntos=10, peso=75))
        self.gb.hide()

        li_acciones = (
            (_("Close"), Iconos.MainMenu(), self.terminar),
            None,
            (_("Begin"), Iconos.Empezar(), self.begin),
            (_("Restart"), Iconos.Reset(), self.restart),
            (_("Continue"), Iconos.Pelicula_Seguir(), self.seguir),
        )
        self.tb = QTVarios.LCTB(self, li_acciones, style=QtCore.Qt.ToolButtonTextBesideIcon, icon_size=32)
        self.show_tb(self.terminar, self.begin)

        ly_left = Colocacion.V().control(self.tb).control(self.board)

        ly_right = Colocacion.V().controlc(self.lb_info).espacio(40).controlc(self.lb_first_move).espacio(20).control(self.gb).relleno()

        ly_center = Colocacion.H().otro(ly_left).otro(ly_right).margen(3)

        self.setLayout(ly_center)

        self.restore_video()
        self.adjustSize()

        self.gb.setDisabled(True)

        self.li_lb_wm[0][1].activa()

        self.ultimaCelda = None
Example #2
0
    def __init__(self, owner, engine, segundos, min_min, min_max, linea=None, ref=None):

        super(WPotencia, self).__init__(owner, _("Determine your calculating power"), Iconos.Potencia(), "potencia")

        self.game, self.dicPGN, info, self.jugadaInicial, self.linea = (
            lee_1_linea_mfn(linea) if linea else lee_linea_mfn()
        )
        self.fen = self.game.move(self.jugadaInicial).position.fen()
        self.ref = ref

        self.historico = owner.historico
        self.procesador = owner.procesador
        self.configuration = self.procesador.configuration

        if engine.startswith("*"):
            engine = engine[1:]
        confMotor = self.configuration.buscaTutor(engine)
        self.xtutor = self.procesador.creaManagerMotor(confMotor, segundos * 1000, None)
        self.xtutor.maximizaMultiPV()

        # Board
        config_board = self.configuration.config_board("POTENCIA", 48)

        self.min_min = min_min
        self.min_max = min_max

        cp = self.game.move(self.jugadaInicial).position

        self.board = Board.BoardEstatico(self, config_board)
        self.board.crea()
        self.board.ponerPiezasAbajo(cp.is_white)
        self.board.set_position(cp)

        # Rotulo informacion
        self.lbInformacion = self.creaLBInformacion(info, cp)

        # Consultar la game
        self.btConsultar = Controles.PB(self, _("Show game"), self.consultar, plano=False)

        # Rotulo vtime
        self.lbTiempo = Controles.LB(self, "").align_center()

        self.liwm = []
        conj_piezas = self.board.piezas
        is_white = cp.is_white
        for i in range(12):
            wm = WBlqMove(self, conj_piezas, is_white, i)
            self.liwm.append(wm)
            is_white = not is_white

        # Tool bar
        li_acciones = (
            (_("Close"), Iconos.MainMenu(), self.terminar),
            (_("Cancel"), Iconos.Cancelar(), self.cancelar),
            (_("Check"), Iconos.Check(), self.comprobar),
        )
        self.tb = Controles.TBrutina(self, li_acciones)

        # Layout
        lyInfo = Colocacion.H().relleno().control(self.lbInformacion).control(self.btConsultar).relleno()
        lyT = Colocacion.V().relleno().control(self.board).otro(lyInfo).controlc(self.lbTiempo).relleno()

        lyV = Colocacion.V()
        for wm in self.liwm:
            lyV.control(wm)
        lyV.relleno()
        f = Controles.TipoLetra(puntos=10, peso=75)
        self.gbMovs = Controles.GB(self, _("Next moves"), lyV).ponFuente(f)

        lyTV = Colocacion.H().otro(lyT).control(self.gbMovs).relleno()

        ly = Colocacion.V().control(self.tb).otro(lyTV).relleno()

        self.setLayout(ly)

        self.restore_video()
        self.adjustSize()

        liTB = [self.cancelar]

        # Tiempo
        self.timer = None
        if min_min or min_max:
            self.time_base = time.time()
            if min_min:
                self.gbMovs.hide()
                self.start_clock(self.pensandoHastaMin)
            else:
                liTB.insert(0, self.comprobar)
                self.start_clock(self.pensandoHastaMax)

        self.pon_toolbar(liTB)

        self.liwm[0].activa()

        self.btConsultar.hide()

        self.ultimaCelda = None
    def __init__(self, owner, dicdatos):

        self.dicdatos = dicdatos

        site = dicdatos["SITE"]
        self.level = dicdatos["LEVEL"]
        self.intervalo = dicdatos["INTERVAL"]
        self.intervaloPorPieza = dicdatos["INTERVALPIECE"]
        self.esatacada = dicdatos["ISATTACKED"]
        self.esatacante = dicdatos["ISATTACKING"]
        self.posicion = dicdatos["POSITION"]
        self.color = dicdatos["COLOR"]
        self.errors = dicdatos["ERRORS"]
        self.time = dicdatos["TIME"]
        self.liFENs = dicdatos["FENS"]

        mas = "x" if self.intervaloPorPieza else ""
        titulo = "%s (%s%d\")" % (site, mas, self.intervalo)

        super(WPlay, self).__init__(owner, titulo, Iconos.Gafas(),
                                    "visualplay")

        self.procesador = owner.procesador
        self.configuracion = self.procesador.configuracion

        # Tiempo en tablero
        intervaloMax = self.intervalo
        if self.intervaloPorPieza:
            intervaloMax *= 32

        # Tablero
        confTablero = self.configuracion.confTablero("VISUALPLAY", 48)
        self.tablero = Tablero.Tablero(self, confTablero)
        self.tablero.crea()

        lyT = Colocacion.V().control(self.tablero)

        self.gbTablero = Controles.GB(self, "", lyT)

        # entradas
        ly = Colocacion.G()

        self.posPosicion = None
        self.posColor = None
        self.posIsAttacked = None
        self.posIsAttacking = None

        lista = [_("Piece")]
        if self.posicion:
            lista.append(_("Position"))
        if self.color:
            lista.append(_("Square color"))
        if self.esatacada:
            lista.append(_("Is attacked?"))
        if self.esatacante:
            lista.append(_("Is attacking?"))
        self.liLB2 = []
        for col, eti in enumerate(lista):
            ly.control(Controles.LB(self, eti), 0, col + 1)
            lb2 = Controles.LB(self, eti)
            ly.control(lb2, 0, col + len(lista) + 2)
            self.liLB2.append(lb2)
        elementos = len(lista) + 1

        liComboPieces = []
        for c in "PNBRQKpnbrqk":
            liComboPieces.append(("", c, self.tablero.piezas.icono(c)))

        self.pmBien = Iconos.pmAceptarPeque()
        self.pmMal = Iconos.pmCancelarPeque()
        self.pmNada = Iconos.pmPuntoAmarillo()

        self.liBloques = []
        for x in range(32):
            fila = x % 16 + 1
            colPos = elementos if x > 15 else 0

            unBloque = []
            self.liBloques.append(unBloque)

            # # Solucion
            lb = Controles.LB(self, "").ponImagen(self.pmNada)
            ly.control(lb, fila, colPos)
            unBloque.append(lb)

            # # Piezas
            colPos += 1
            cb = Controles.CB(self, liComboPieces, "P")
            # cb.setStyleSheet("* { min-height:32px }")
            cb.setIconSize(QtCore.QSize(20, 20))

            ly.control(cb, fila, colPos)
            unBloque.append(cb)

            if self.posicion:
                ec = Controles.ED(self, "").caracteres(2).controlrx(
                    "(|[a-h][1-8])").anchoFijo(24).alinCentrado()
                colPos += 1
                ly.controlc(ec, fila, colPos)
                unBloque.append(ec)

            if self.color:
                cl = QTVarios.TwoImages(Iconos.pmBlancas(), Iconos.pmNegras())
                colPos += 1
                ly.controlc(cl, fila, colPos)
                unBloque.append(cl)

            if self.esatacada:
                isat = QTVarios.TwoImages(Iconos.pmAtacada().scaledToWidth(24),
                                          Iconos.pmPuntoNegro())
                colPos += 1
                ly.controlc(isat, fila, colPos)
                unBloque.append(isat)

            if self.esatacante:
                at = QTVarios.TwoImages(Iconos.pmAtacante().scaledToWidth(24),
                                        Iconos.pmPuntoNegro())
                colPos += 1
                ly.controlc(at, fila, colPos)
                unBloque.append(at)

        ly1 = Colocacion.H().otro(ly).relleno()
        ly2 = Colocacion.V().otro(ly1).relleno()
        self.gbSolucion = Controles.GB(self, "", ly2)

        f = Controles.TipoLetra("", 11, 80, False, False, False, None)

        bt = Controles.PB(self, _("End game"), self.terminar,
                          plano=False).ponIcono(
                              Iconos.FinPartida()).ponFuente(f)
        self.btTablero = Controles.PB(self,
                                      _("Go to board"),
                                      self.activaTablero,
                                      plano=False).ponIcono(
                                          Iconos.Tablero()).ponFuente(f)
        self.btComprueba = Controles.PB(self,
                                        _("Test the solution"),
                                        self.compruebaSolucion,
                                        plano=False).ponIcono(
                                            Iconos.Check()).ponFuente(f)
        self.btGotoNextLevel = Controles.PB(self,
                                            _("Go to next level"),
                                            self.gotoNextLevel,
                                            plano=False).ponIcono(
                                                Iconos.GoToNext()).ponFuente(f)
        ly0 = Colocacion.H().control(bt).relleno().control(
            self.btTablero).control(self.btComprueba).control(
                self.btGotoNextLevel)

        lyBase = Colocacion.H().control(self.gbTablero).control(
            self.gbSolucion)

        layout = Colocacion.V().otro(ly0).otro(lyBase)

        self.setLayout(layout)

        self.recuperarVideo()

        self.gotoNextLevel()
Example #4
0
    def __init__(self, owner, db_captures, capture):

        QTVarios.WDialogo.__init__(self, owner,
                                   _("Captures and threats in a game"),
                                   Iconos.Captures(), "runcaptures")

        self.configuration = Code.configuration
        self.capture = capture
        self.db_captures = db_captures

        conf_board = self.configuration.config_board("RUNCAPTURES", 64)

        self.board = Board.BoardEstaticoMensaje(self, conf_board, None)
        self.board.crea()

        # Rotulo informacion
        self.lb_info_game = Controles.LB(
            self,
            self.capture.game.titulo(
                "DATE", "EVENT", "WHITE", "BLACK", "RESULT")).ponTipoLetra(
                    puntos=self.configuration.x_pgn_fontpoints)

        # Movimientos
        self.liwm_captures = []
        ly = Colocacion.G().margen(4)
        for i in range(16):
            f = i // 2
            c = i % 2
            wm = WRunCommon.WEdMove(self)
            self.liwm_captures.append(wm)
            ly.control(wm, f, c)

        self.gb_captures = Controles.GB(self, _("Captures"), ly).ponFuente(
            Controles.TipoLetra(puntos=10, peso=750))

        self.liwm_threats = []
        ly = Colocacion.G().margen(4)
        for i in range(16):
            f = i // 2
            c = i % 2
            wm = WRunCommon.WEdMove(self)
            self.liwm_threats.append(wm)
            ly.control(wm, f, c)

        self.gb_threats = Controles.GB(self, _("Threats"), ly).ponFuente(
            Controles.TipoLetra(puntos=10, peso=750))

        self.lb_result = Controles.LB(self).ponTipoLetra(
            puntos=10, peso=500).anchoFijo(254).altoFijo(32).set_wrap()
        self.lb_info = (
            Controles.LB(self).anchoFijo(254).set_foreground_backgound(
                "white", "#496075").align_center().ponTipoLetra(
                    puntos=self.configuration.x_menu_points))

        # Botones
        li_acciones = (
            (_("Close"), Iconos.MainMenu(), self.terminar),
            None,
            (_("Begin"), Iconos.Empezar(), self.begin),
            (_("Check"), Iconos.Check(), self.check),
            (_("Continue"), Iconos.Pelicula_Seguir(), self.seguir),
        )
        self.tb = QTVarios.LCTB(self,
                                li_acciones,
                                style=QtCore.Qt.ToolButtonTextBesideIcon,
                                icon_size=32)
        self.show_tb(self.terminar, self.begin)

        ly_right = (Colocacion.V().control(self.tb).controlc(
            self.lb_info).relleno().control(
                self.gb_captures).relleno().control(self.gb_threats).control(
                    self.lb_result).relleno())

        ly_center = Colocacion.H().control(self.board).otro(ly_right)

        ly = Colocacion.V().otro(ly_center).control(
            self.lb_info_game).margen(3)

        self.setLayout(ly)

        self.restore_video()
        self.adjustSize()

        # Tiempo
        self.time_base = time.time()

        self.gb_captures.setDisabled(True)
        self.gb_threats.setDisabled(True)

        self.liwm_captures[0].activa()

        self.ultimaCelda = None

        self.pon_info_posic()
        self.set_position()
Example #5
0
    def __init__(self, owner, db_counts, count):

        QTVarios.WDialogo.__init__(self, owner, _("Count moves"),
                                   Iconos.Count(), "runcounts")

        self.configuracion = Code.configuracion
        self.count = count
        self.db_counts = db_counts

        conf_board = self.configuracion.config_board("RUNCOUNTS", 64)

        self.board = Tablero.TableroEstaticoMensaje(self, conf_board, None)
        self.board.crea()

        # Rotulo informacion
        self.lb_info_game = Controles.LB(
            self,
            self.count.game.titulo(
                "DATE", "EVENT", "WHITE", "BLACK", "RESULT")).ponTipoLetra(
                    puntos=self.configuracion.x_pgn_fontpoints)

        # Movimientos
        self.ed_moves = Controles.ED(self, "").ponTipoLetra(puntos=32)
        self.ed_moves.setValidator(QtGui.QIntValidator(self.ed_moves))
        self.ed_moves.setAlignment(QtCore.Qt.AlignRight)
        self.ed_moves.anchoFijo(72)

        ly = Colocacion.H().relleno().control(self.ed_moves).relleno()

        self.gb_counts = Controles.GB(self, _("Number of moves"),
                                      ly).ponFuente(
                                          Controles.TipoLetra(puntos=10,
                                                              peso=75))

        self.lb_result = Controles.LB(self).ponTipoLetra(
            puntos=10, peso=500).anchoFijo(254).altoFijo(32).ponWrap()
        self.lb_info = (Controles.LB(self).ponTipoLetra(
            puntos=14,
            peso=500).anchoFijo(254).ponColorFondoN("white",
                                                    "#496075").alinCentrado())

        # Botones
        li_acciones = (
            (_("Close"), Iconos.MainMenu(), self.terminar),
            None,
            (_("Begin"), Iconos.Empezar(), self.begin),
            (_("Check"), Iconos.Check(), self.check),
            (_("Continue"), Iconos.Pelicula_Seguir(), self.seguir),
        )
        self.tb = QTVarios.LCTB(self,
                                li_acciones,
                                style=QtCore.Qt.ToolButtonTextBesideIcon,
                                tamIcon=32)
        self.show_tb(self.terminar, self.begin)

        ly_right = (Colocacion.V().control(self.tb).controlc(
            self.lb_info).relleno().control(self.gb_counts).relleno().control(
                self.lb_result).relleno())

        ly_center = Colocacion.H().control(self.board).otro(ly_right)

        ly = Colocacion.V().otro(ly_center).control(
            self.lb_info_game).margen(3)

        self.setLayout(ly)

        self.restore_video()
        self.adjustSize()

        # Tiempo
        self.time_base = time.time()

        self.gb_counts.setDisabled(True)

        self.pon_info_posic()
        self.set_position()
Example #6
0
    def __init__(self, procesador, txtcategoria, nivel, segundos, listaFen, record):

        titulo = _("Check your memory on a chessboard")
        icono = Iconos.Memoria()
        extparam = "memoria"
        QTVarios.WDialogo.__init__(self, procesador.pantalla, titulo, icono, extparam)

        f = Controles.TipoLetra(puntos=10, peso=75)

        self.configuracion = procesador.configuracion
        self.nivel = nivel
        self.segundos = segundos
        self.record = record

        # Tablero
        confTablero = self.configuracion.confTablero("MEMORIA", 48)

        self.listaFen = listaFen

        self.posicion = ControlPosicion.ControlPosicion()

        self.tablero = Tablero.PosTablero(self, confTablero)
        self.tablero.crea()
        self.tablero.ponDispatchDrop(self.dispatchDrop)
        self.tablero.baseCasillasSC.setAcceptDrops(True)
        self.ultimaPieza = "P"

        tamPiezas = max(16, int(32 * self.tablero.confTablero.anchoPieza() / 48))
        self.listaPiezasW = QTVarios.ListaPiezas(self, "P,N,B,R,Q,K", self.tablero, tamPiezas, margen=0)
        self.listaPiezasB = QTVarios.ListaPiezas(self, "p,n,b,r,q,k", self.tablero, tamPiezas, margen=0)

        # Ayuda
        lbAyuda = Controles.LB(self, _(
                "<ul><li><b>Add piece</b> : Right mouse button on empty square</li><li><b>Copy piece</b> : Left mouse button on empty square</li><li><b>Move piece</b> : Drag and drop piece with left mouse button</li><li><b>Delete piece</b> : Right mouse button on occupied square</li></ul>"))
        ly = Colocacion.H().control(lbAyuda)
        self.gbAyuda = Controles.GB(self, _("Help"), ly)

        # Rotulos informacion
        lbCategoria = Controles.LB(self, txtcategoria).ponFuente(f)
        lbNivel = Controles.LB(self, _X(_("Level %1/%2"), str(nivel + 1), "25")).ponFuente(f)
        if record:
            lbRecord = Controles.LB(self, _X(_("Record %1 seconds"), str(record))).ponFuente(f)

        # Rotulo de tiempo
        self.rotuloDispone = Controles.LB(self,
                                          _X(_("You have %1 seconds to remember the position of %2 pieces"), str(self.segundos),
                                             str(self.nivel + 3))).ponWrap().ponFuente(f).alinCentrado()
        self.rotuloDispone1 = Controles.LB(self, _("when you know you can press the Continue button")).ponWrap().ponFuente(
                f).alinCentrado()
        ly = Colocacion.V().control(self.rotuloDispone).control(self.rotuloDispone1)
        self.gbTiempo = Controles.GB(self, "", ly)

        self.rotuloDispone1.hide()

        # Tool bar
        liAcciones = (
            (_("Start"), Iconos.Empezar(), "empezar"),
            (_("Continue"), Iconos.Pelicula_Seguir(), "seguir"),
            (_("Check"), Iconos.Check(), "comprobar"),
            (_("Target"), Iconos.Verde32(), "objetivo"),
            (_("Wrong"), Iconos.Rojo32(), "nuestro"),
            (_("Repeat"), Iconos.Pelicula_Repetir(), "repetir"),
            (_("Resign"), Iconos.Abandonar(), "abandonar"),
        )
        self.tb = tb = Controles.TB(self, liAcciones)
        self.ponToolBar(["empezar"])

        # Colocamos
        lyP = Colocacion.H().relleno().control(self.listaPiezasW).control(self.listaPiezasB).relleno().margen(0)
        lyT = Colocacion.V().control(self.tablero).otro(lyP).margen(0)

        lyI = Colocacion.V()
        lyI.control(tb)
        lyI.relleno()
        lyI.controlc(lbCategoria)
        lyI.controlc(lbNivel)
        if record:
            lyI.controlc(lbRecord)
        lyI.controlc(self.gbTiempo)
        lyI.relleno()
        lyI.control(self.gbAyuda)
        lyI.margen(3)

        ly = Colocacion.H().otro(lyT).otro(lyI).relleno()
        ly.margen(3)

        self.setLayout(ly)

        self.timer = None

        self.encenderExtras(False)
Example #7
0
    def __init__(self, owner, fenIni, fenFin, liMV, info):

        QTVarios.WDialogo.__init__(self, owner, _("Moves between two positions"), Iconos.Puente(), "puente")

        self.owner = owner
        self.historico = owner.historico
        self.procesador = owner.procesador
        self.configuracion = self.procesador.configuracion

        self.liMV = liMV
        self.fenIni = fenIni
        self.fenFin = fenFin

        nivel = len(liMV)

        # Tableros
        confTablero = self.configuracion.confTablero("PUENTE", 32)

        cpIni = ControlPosicion.ControlPosicion()
        cpIni.leeFen(fenIni)
        siBlancas = cpIni.siBlancas
        self.tableroIni = Tablero.TableroEstatico(self, confTablero)
        self.tableroIni.crea()
        self.tableroIni.ponerPiezasAbajo(siBlancas)
        self.tableroIni.ponPosicion(cpIni)

        cpFin = ControlPosicion.ControlPosicion()
        cpFin.leeFen(fenFin)
        self.tableroFin = Tablero.TableroEstatico(self, confTablero)
        self.tableroFin.crea()
        self.tableroFin.ponerPiezasAbajo(siBlancas)  # esta bien
        self.tableroFin.ponPosicion(cpFin)

        # Rotulo informacion
        self.lbInformacion = Controles.LB(self, self.textoLBInformacion(info, cpIni)).alinCentrado()

        # Rotulo tiempo
        self.lbTiempo = Controles.LB(self, "").alinCentrado()

        # Movimientos
        self.liwm = []
        conj_piezas = self.tableroIni.piezas
        ly = Colocacion.V().margen(4).relleno()
        for i in range(nivel):
            wm = WEdMove(self, conj_piezas, siBlancas)
            self.liwm.append(wm)
            siBlancas = not siBlancas
            ly.control(wm)
        ly.relleno()
        gbMovs = Controles.GB(self, _("Next moves"), ly).ponFuente(Controles.TipoLetra(puntos=10, peso=75))

        # Botones
        f = Controles.TipoLetra(puntos=12, peso=75)
        self.btComprobar = Controles.PB(self, _("Check"), self.comprobar, plano=False).ponIcono(Iconos.Check(),
                                                                                                tamIcon=32).ponFuente(f)
        self.btSeguir = Controles.PB(self, _("Continue"), self.seguir, plano=False).ponIcono(Iconos.Pelicula_Seguir(),
                                                                                             tamIcon=32).ponFuente(f)
        self.btTerminar = Controles.PB(self, _("Close"), self.terminar, plano=False).ponIcono(Iconos.MainMenu(),
                                                                                              tamIcon=32).ponFuente(f)
        self.btCancelar = Controles.PB(self, _("Cancel"), self.terminar, plano=False).ponIcono(Iconos.Cancelar(),
                                                                                               tamIcon=32).ponFuente(f)

        # Layout
        lyC = Colocacion.V().control(self.btCancelar).control(self.btTerminar).relleno().control(gbMovs).relleno(
                1).control(self.btComprobar).control(self.btSeguir).relleno()
        lyTM = Colocacion.H().control(self.tableroIni).otro(lyC).control(self.tableroFin).relleno()

        ly = Colocacion.V().otro(lyTM).controlc(self.lbInformacion).controlc(self.lbTiempo).relleno().margen(3)

        self.setLayout(ly)

        self.recuperarVideo()
        self.adjustSize()

        # Tiempo
        self.baseTiempo = time.time()

        self.btSeguir.hide()
        self.btTerminar.hide()

        self.liwm[0].activa()

        self.ultimaCelda = None
Example #8
0
    def __init__(self, owner, fenIni, fenFin, liMV, info):

        QTVarios.WDialogo.__init__(self, owner,
                                   _("Moves between two positions"),
                                   Iconos.Puente(), "puente")

        self.owner = owner
        self.historico = owner.historico
        self.procesador = owner.procesador
        self.configuration = self.procesador.configuration

        self.liMV = liMV
        self.fenIni = fenIni
        self.fenFin = fenFin

        nivel = len(liMV)

        # Boards
        config_board = self.configuration.config_board("PUENTE", 32)

        cpIni = Position.Position()
        cpIni.read_fen(fenIni)
        is_white = cpIni.is_white
        self.boardIni = Board.BoardEstatico(self, config_board)
        self.boardIni.crea()
        self.boardIni.ponerPiezasAbajo(is_white)
        self.boardIni.set_position(cpIni)

        cpFin = Position.Position()
        cpFin.read_fen(fenFin)
        self.boardFin = Board.BoardEstatico(self, config_board)
        self.boardFin.crea()
        self.boardFin.ponerPiezasAbajo(is_white)  # esta bien
        self.boardFin.set_position(cpFin)

        # Rotulo informacion
        self.lbInformacion = Controles.LB(self,
                                          self.textoLBInformacion(
                                              info, cpIni)).align_center()

        # Rotulo vtime
        self.lbTiempo = Controles.LB(self, "").align_center()

        # Movimientos
        self.liwm = []
        conj_piezas = self.boardIni.piezas
        ly = Colocacion.V().margen(4).relleno()
        for i in range(nivel):
            wm = WEdMove(self, conj_piezas, is_white)
            self.liwm.append(wm)
            is_white = not is_white
            ly.control(wm)
        ly.relleno()
        gbMovs = Controles.GB(self, _("Next moves"), ly).ponFuente(
            Controles.TipoLetra(puntos=10, peso=75))

        # Botones
        f = Controles.TipoLetra(puntos=12, peso=75)
        self.btComprobar = Controles.PB(self,
                                        _("Check"),
                                        self.comprobar,
                                        plano=False).ponIcono(
                                            Iconos.Check(),
                                            icon_size=32).ponFuente(f)
        self.btSeguir = (Controles.PB(self,
                                      _("Continue"),
                                      self.seguir,
                                      plano=False).ponIcono(
                                          Iconos.Pelicula_Seguir(),
                                          icon_size=32).ponFuente(f))
        self.btTerminar = Controles.PB(self,
                                       _("Close"),
                                       self.terminar,
                                       plano=False).ponIcono(
                                           Iconos.MainMenu(),
                                           icon_size=32).ponFuente(f)
        self.btCancelar = Controles.PB(self,
                                       _("Cancel"),
                                       self.terminar,
                                       plano=False).ponIcono(
                                           Iconos.Cancelar(),
                                           icon_size=32).ponFuente(f)

        # Layout
        lyC = (Colocacion.V().control(self.btCancelar).control(
            self.btTerminar).relleno().control(gbMovs).relleno(1).control(
                self.btComprobar).control(self.btSeguir).relleno())
        lyTM = Colocacion.H().control(self.boardIni).otro(lyC).control(
            self.boardFin).relleno()

        ly = Colocacion.V().otro(lyTM).controlc(self.lbInformacion).controlc(
            self.lbTiempo).relleno().margen(3)

        self.setLayout(ly)

        self.restore_video()
        self.adjustSize()

        # Tiempo
        self.time_base = time.time()

        self.btSeguir.hide()
        self.btTerminar.hide()

        self.liwm[0].activa()

        self.ultimaCelda = None
Example #9
0
    def __init__(self,
                 owner,
                 motor,
                 segundos,
                 min_min,
                 min_max,
                 linea=None,
                 ref=None):

        super().__init__(parent=owner,
                         titulo=_("Determine your calculating power"),
                         icono=Iconos.Potencia(),
                         extparam="potencia")

        self.partida, self.dicPGN, info, self.jugadaInicial, self.linea = lee_1_linea_mfn(
            linea) if linea else lee_linea_mfn()
        self.fen = self.partida.jugada(self.jugadaInicial).posicion.fen()
        self.ref = ref

        self.historico = owner.historico
        self.procesador = owner.procesador
        self.configuracion = self.procesador.configuracion

        if motor.startswith("*"):
            motor = motor[1:]
        confMotor = self.configuracion.buscaTutor(motor, "stockfish")
        self.xtutor = self.procesador.creaGestorMotor(confMotor,
                                                      segundos * 1000, None)
        self.xtutor.maximizaMultiPV()

        # Tablero
        confTablero = self.configuracion.confTablero("POTENCIA", 48)

        self.min_min = min_min
        self.min_max = min_max

        cp = self.partida.jugada(self.jugadaInicial).posicion

        self.tablero = Tablero.TableroEstatico(self, confTablero)
        self.tablero.crea()
        self.tablero.ponerPiezasAbajo(cp.siBlancas)
        self.tablero.ponPosicion(cp)

        # Rotulo informacion
        self.lbInformacion = self.creaLBInformacion(info, cp)

        # Consultar la partida
        self.btConsultar = Controles.PB(self,
                                        _("Show game"),
                                        self.consultar,
                                        plano=False)

        # Rotulo tiempo
        self.lbTiempo = Controles.LB(self, "").alinCentrado()

        self.liwm = []
        conj_piezas = self.tablero.piezas
        siBlancas = cp.siBlancas
        for i in range(12):
            wm = WBlqMove(self, conj_piezas, siBlancas, i)
            self.liwm.append(wm)
            siBlancas = not siBlancas

        # Tool bar
        liAcciones = (
            (_("Close"), Iconos.MainMenu(), self.terminar),
            (_("Cancel"), Iconos.Cancelar(), self.cancelar),
            (_("Check"), Iconos.Check(), self.comprobar),
        )
        self.tb = Controles.TBrutina(self, liAcciones)

        # Layout
        lyInfo = Colocacion.H().relleno().control(self.lbInformacion).control(
            self.btConsultar).relleno()
        lyT = Colocacion.V().relleno().control(
            self.tablero).otro(lyInfo).controlc(self.lbTiempo).relleno()

        lyV = Colocacion.V()
        for wm in self.liwm:
            lyV.control(wm)
        lyV.relleno()
        f = Controles.TipoLetra(puntos=10, peso=75)
        self.gbMovs = Controles.GB(self, _("Next moves"), lyV).ponFuente(f)

        lyTV = Colocacion.H().otro(lyT).control(self.gbMovs).relleno()

        ly = Colocacion.V().control(self.tb).otro(lyTV).relleno()

        self.setLayout(ly)

        self.recuperarVideo()
        self.adjustSize()

        liTB = [self.cancelar]

        # Tiempo
        self.timer = None
        if min_min or min_max:
            self.baseTiempo = time.time()
            if min_min:
                self.gbMovs.hide()
                self.iniciaReloj(self.pensandoHastaMin)
            else:
                liTB.insert(0, self.comprobar)
                self.iniciaReloj(self.pensandoHastaMax)

        self.ponToolBar(liTB)

        self.liwm[0].activa()

        self.btConsultar.hide()

        self.ultimaCelda = None