def __init__(self, owner, partida, nivel, white, black, siClock): QTVarios.WDialogo.__init__(self, owner, owner.rotulo(), Iconos.PGN(), "learnpuente") self.owner = owner self.procesador = owner.procesador self.configuracion = self.procesador.configuracion self.partida = partida self.nivel = nivel self.white = white self.black = black self.siClock = siClock self.repTiempo = 3000 self.repWorking = False # Tool bar self.tb = Controles.TB(self, []) self.ponToolbar(self.INICIO) # Tableros confTablero = self.configuracion.confTablero("LEARNPGN", 48) self.tableroIni = Tablero.Tablero(self, confTablero) self.tableroIni.crea() self.tableroIni.ponMensajero(self.mueveHumano, None) self.lbIni = Controles.LB(self).alinCentrado().ponColorFondoN( "#076C9F", "#EFEFEF").anchoMinimo(self.tableroIni.ancho) lyIni = Colocacion.V().control(self.tableroIni).control(self.lbIni) self.tableroFin = Tablero.TableroEstatico(self, confTablero) self.tableroFin.crea() self.lbFin = Controles.LB(self).alinCentrado().ponColorFondoN( "#076C9F", "#EFEFEF").anchoMinimo(self.tableroFin.ancho) lyFin = Colocacion.V().control(self.tableroFin).control(self.lbFin) # Rotulo tiempo f = Controles.TipoLetra(puntos=30, peso=75) self.lbReloj = Controles.LB( self, "00:00").ponFuente(f).alinCentrado().ponColorFondoN( "#076C9F", "#EFEFEF").anchoMinimo(200) self.lbReloj.setFrameStyle(QtGui.QFrame.Box | QtGui.QFrame.Raised) # Movimientos flb = Controles.TipoLetra(puntos=11) self.lbInfo = Controles.LB(self).anchoFijo(200).ponWrap().ponFuente( flb) # Layout lyC = Colocacion.V().control(self.lbReloj).control( self.lbInfo).relleno() lyTM = Colocacion.H().otro(lyIni).otro(lyC).otro(lyFin).relleno() ly = Colocacion.V().control(self.tb).otro(lyTM).relleno().margen(3) self.setLayout(ly) self.recuperarVideo() self.adjustSize() if siClock: self.timer = QtCore.QTimer(self) self.connect(self.timer, QtCore.SIGNAL("timeout()"), self.ajustaReloj) self.timer.start(500) else: self.lbReloj.hide() self.reset()
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
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
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.configuracion = self.procesador.configuracion if engine.startswith("*"): engine = engine[1:] confMotor = self.configuracion.buscaTutor(engine) self.xtutor = self.procesador.creaGestorMotor(confMotor, segundos * 1000, None) self.xtutor.maximizaMultiPV() # Tablero config_board = self.configuracion.config_board("POTENCIA", 48) self.min_min = min_min self.min_max = min_max cp = self.game.move(self.jugadaInicial).position self.tablero = Tablero.TableroEstatico(self, config_board) self.tablero.crea() self.tablero.ponerPiezasAbajo(cp.is_white) self.tablero.setposition(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, "").alinCentrado() self.liwm = [] conj_piezas = self.tablero.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.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.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, db_mate15, mate15): QTVarios.WDialogo.__init__(self, owner, _("Mate in 1½"), Iconos.Mate15(), "runmate15") self.configuracion = Code.configuracion self.mate15 = mate15 self.db_mate15 = db_mate15 conf_board = self.configuracion.config_board("RUNMATE15", 64) self.board = Tablero.TableroEstatico(self, conf_board) self.board.crea() # Rotulo informacion self.lb_info = Controles.LB( self, "[%d] %s" % (self.mate15.pos + 1, self.mate15.info)).ponTipoLetra( puntos=self.configuracion.x_pgn_fontpoints).alinCentrado() 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(), tamIcon=20) self.lb_result = Controles.LB(self).ponTipoLetra(puntos=12, peso=500) # Movimientos self.li_lb_wm = [] ly = Colocacion.G().margen(4) for fila 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, fila, 0) ly.columnaVacia(1, 20) ly.control(wm, fila, 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), (_("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).espacio(40).\ controlc(self.lb_first_move).espacio(20).\ control(self.gb).relleno() ly_center = Colocacion.H().control(self.board).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
def __init__(self, owner, game, nivel, white, black, siClock): QTVarios.WDialogo.__init__(self, owner, owner.rotulo(), Iconos.PGN(), "learnpuente") self.owner = owner self.procesador = owner.procesador self.configuracion = self.procesador.configuracion self.game = game self.nivel = nivel self.white = white self.black = black self.siClock = siClock self.repTiempo = 3000 self.repWorking = False # Tool bar self.tb = Controles.TBrutina(self, []) self.pon_toolbar(self.INICIO) # Tableros config_board = self.configuracion.config_board("LEARNPGN", 48) self.tableroIni = Tablero.Tablero(self, config_board) self.tableroIni.crea() self.tableroIni.set_dispatcher(self.mueve_humano, None) self.lbIni = (Controles.LB(self).alinCentrado().ponColorFondoN( "#076C9F", "#EFEFEF").anchoMinimo(self.tableroIni.ancho)) lyIni = Colocacion.V().control(self.tableroIni).control(self.lbIni) self.tableroFin = Tablero.TableroEstatico(self, config_board) self.tableroFin.crea() self.lbFin = (Controles.LB(self).alinCentrado().ponColorFondoN( "#076C9F", "#EFEFEF").anchoMinimo(self.tableroFin.ancho)) lyFin = Colocacion.V().control(self.tableroFin).control(self.lbFin) # Rotulo vtime f = Controles.TipoLetra(puntos=30, peso=75) self.lbReloj = (Controles.LB( self, "00:00").ponFuente(f).alinCentrado().ponColorFondoN( "#076C9F", "#EFEFEF").anchoMinimo(200)) self.lbReloj.setFrameStyle(QtWidgets.QFrame.Box | QtWidgets.QFrame.Raised) # Movimientos flb = Controles.TipoLetra(puntos=11) self.lbInfo = Controles.LB(self).anchoFijo(200).ponWrap().ponFuente( flb) # Layout lyC = Colocacion.V().control(self.lbReloj).control( self.lbInfo).relleno() lyTM = Colocacion.H().otro(lyIni).otro(lyC).otro(lyFin).relleno() ly = Colocacion.V().control(self.tb).otro(lyTM).relleno().margen(3) self.setLayout(ly) self.restore_video() self.adjustSize() if siClock: QtCore.QTimer.singleShot(500, self.ajustaReloj) else: self.lbReloj.hide() self.reset()