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
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()
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()
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()
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)
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, 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
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