def __init__(self, owner, db_coordinates, is_white): QTVarios.WDialogo.__init__(self, owner, _("Coordinates"), Iconos.Blocks(), "runcoordinatesbasic") self.configuration = Code.configuration self.is_white = is_white self.db_coordinates = db_coordinates self.coordinates = None self.current_score = 0 self.working = False self.time_ini = None conf_board = self.configuration.config_board( "RUNCOORDINATESBASIC", self.configuration.size_base()) self.board = Board.BoardEstaticoMensaje(self, conf_board, None, 0.6) self.board.crea() self.board.bloqueaRotacion(True) self.cp_initial = Position.Position() self.cp_initial.set_pos_initial() self.board.ponerPiezasAbajo(self.is_white) self.board.set_position(self.cp_initial) font = Controles.TipoLetra(puntos=26, peso=500) lb_score_k = Controles.LB(self, _("Score")).ponFuente(font) self.lb_score = Controles.LB(self).ponFuente(font) 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) self.show_tb(self.terminar, self.begin) ly_info = Colocacion.G() ly_info.controlc(lb_score_k, 0, 0).controlc(self.lb_score, 1, 0) ly_right = Colocacion.V().control( self.tb).relleno().otro(ly_info).relleno() w = QtWidgets.QWidget(self) w.setLayout(ly_right) w.setMinimumWidth(240) ly_center = Colocacion.H().control(self.board).control(w).margen(3) self.setLayout(ly_center) self.restore_video() self.adjustSize()
def __init__(self, procesador): configuration = procesador.configuration path = configuration.file_coordinates() title = _("Coordinates by blocks") icon = Iconos.Blocks() extconfig = "coordinatesbyblocks" self.db = CoordinatesBlocks.DBCoordinatesBlocks(path) QTVarios.WDialogo.__init__(self, procesador.main_window, title, icon, extconfig) o_columns = Columnas.ListaColumnas() o_columns.nueva("DATE_INI", _("Initial date"), 140, centered=True) o_columns.nueva("DATE_END", _("End date"), 140, centered=True) o_columns.nueva("DONE", _("Done"), 100, centered=True) o_columns.nueva("TRIES", _("Tries"), 90, centered=True) o_columns.nueva("SCORE", _("Score"), 90, centered=True) self.glista = Grid.Grid(self, o_columns, siSelecFilas=True, siSeleccionMultiple=True) f = Controles.TipoLetra(puntos=configuration.x_menu_points) self.glista.ponFuente(f) li_acciones = ( (_("Close"), Iconos.MainMenu(), self.terminar), None, (_("Play"), Iconos.Play(), self.play), None, (_("Remove"), Iconos.Borrar(), self.borrar), None, ) tb = QTVarios.LCTB(self, li_acciones) ly = Colocacion.V().control(tb).control(self.glista).margen(4) self.setLayout(ly) self.register_grid(self.glista) self.restore_video(anchoDefecto=self.glista.anchoColumnas() + 30) self.glista.gotop()
def __init__(self, owner, db_coordinates, coordinates): QTVarios.WDialogo.__init__(self, owner, _("Coordinates by blocks"), Iconos.Blocks(), "runcoordinatesblocks") self.configuracion = Code.configuracion self.coordinates = coordinates self.db_coordinates = db_coordinates self.current_score = 0 self.working = False self.time_ini = None conf_board = self.configuracion.config_board("RUNCOORDINATESBLOCKS", self.configuracion.size_base()) self.board = Tablero.TableroEstaticoMensaje(self, conf_board, None, 0.6) self.board.crea() self.board.bloqueaRotacion(True) self.cp_initial = Position.Position() self.cp_initial.set_pos_initial() font = Controles.TipoLetra(puntos=self.configuracion.x_sizefont_infolabels) lb_block_k = Controles.LB(self, _("Block") + ":").ponFuente(font) self.lb_block = Controles.LB(self).ponFuente(font) lb_try_k = Controles.LB(self, _("Tries in this block") + ":").ponFuente(font) self.lb_try = Controles.LB(self).ponFuente(font) lb_minimum_score_k = Controles.LB(self, _("Minimum score") + ":").ponFuente(font) self.lb_minimum_score = Controles.LB(self).ponFuente(font) lb_current_score_block_k = Controles.LB(self, _("Max score in block") + ":").ponFuente(font) self.lb_current_score_block = Controles.LB(self).ponFuente(font) self.lb_current_score_enough = Controles.LB(self).ponImagen(Iconos.pmCorrecto()) self.lb_current_score_enough.hide() self.lb_active_score_k = Controles.LB(self, _("Active score") + ":").ponFuente(font) self.lb_active_score = Controles.LB(self).ponFuente(font) 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) self.show_tb(self.terminar, self.begin) separacion = 20 ly_info = Colocacion.G() ly_info.controld(lb_block_k, 0, 0).controld(self.lb_block, 0, 1) ly_info.filaVacia(1, separacion) ly_info.controld(lb_try_k, 2, 0).controld(self.lb_try, 2, 1) ly_info.filaVacia(3, separacion) ly_info.controld(lb_minimum_score_k, 4, 0).controld(self.lb_minimum_score, 4, 1) ly_info.filaVacia(5, separacion) ly_info.controld(lb_current_score_block_k, 6, 0).controld(self.lb_current_score_block, 6, 1) ly_info.filaVacia(7, separacion) ly_info.controld(self.lb_active_score_k, 8, 0).controld(self.lb_active_score, 8, 1) ly_right = Colocacion.V().control(self.tb).relleno().otro(ly_info).relleno() w = QtWidgets.QWidget(self) w.setLayout(ly_right) w.setMinimumWidth(240) ly_center = Colocacion.H().control(self.board).control(w).margen(3) self.setLayout(ly_center) self.restore_video() self.show_data() self.adjustSize()
def create_menu_basic(self, menu, xopcion): menu.separador() menu_basic = menu.submenu(_("Basics"), Iconos.Training_Basic()) menu2 = menu_basic.submenu(_("Check your memory on a chessboard"), Iconos.Memoria()) mem = Memory.Memoria(self.procesador) categorias = CompetitionWithTutor.Categorias() for x in range(6): cat = categorias.number(x) txt = cat.name() nm = mem.nivel(x) if nm >= 0: txt += " %s %d" % (_("Level"), nm + 1) xopcion(menu2, -100 - x, txt, cat.icono(), is_disabled=not mem.is_active(x)) menu_basic.separador() menu2 = menu_basic.submenu(_("Find all moves"), Iconos.FindAllMoves()) xopcion(menu2, "find_all_moves_rival", _("Opponent"), Iconos.PuntoNaranja()) xopcion(menu2, "find_all_moves_player", _("Player"), Iconos.PuntoAzul()) menu_basic.separador() self.horsesDef = hd = { 1: ("N", "Alpha", _("Basic test")), 2: ("p", "Fantasy", _("Four pawns test")), 3: ("Q", "Pirat", _("Jonathan Levitt test")), 4: ("n", "Spatial", _("Basic test") + ": a1"), 5: ("N", "Cburnett", _("Basic test") + ": e4"), } menu2 = menu_basic.submenu(_("Becoming a knight tamer"), Iconos.Knight()) vicon = Code.todasPiezas.icono icl, icn, tit = hd[1] menu3 = menu2.submenu(tit, vicon(icl, icn)) xopcion(menu3, "horses_1", tit, vicon(icl, icn)) menu3.separador() icl, icn, tit = hd[4] xopcion(menu3, "horses_4", tit, vicon(icl, icn)) menu3.separador() icl, icn, tit = hd[5] xopcion(menu3, "horses_5", tit, vicon(icl, icn)) menu2.separador() icl, icn, tit = hd[2] xopcion(menu2, "horses_2", tit, vicon(icl, icn)) menu2.separador() icl, icn, tit = hd[3] xopcion(menu2, "horses_3", tit, vicon(icl, icn)) menu_basic.separador() menu2 = menu_basic.submenu(_("Moves between two positions"), Iconos.Puente()) rp = QTVarios.rondoPuntos() for x in range(1, 11): xopcion(menu2, "puente_%d" % x, "%s %d" % (_("Level"), x), rp.otro()) menu_basic.separador() xopcion(menu_basic, "visualiza", _("The board at a glance"), Iconos.Gafas()) menu_basic.separador() menu2 = menu_basic.submenu(_("Coordinates"), Iconos.Coordinates()) xopcion(menu2, "coordinates_basic", _("Basic"), Iconos.West()) menu2.separador() xopcion(menu2, "coordinates_blocks", _("By blocks"), Iconos.Blocks()) menu_basic.separador() xopcion(menu_basic, "anotar", _("Writing down moves of a game"), Iconos.Write())
def creaMenu(self): dicMenu = {} menu = QTVarios.LCMenu(self.parent) talpha = Controles.TipoLetra("Chess Alpha 2", self.configuracion.x_menu_points + 4) def xopcion(menu, key, texto, icono, is_disabled=False): if "KP" in texto: k2 = texto.index("K", 2) texto = texto[:k2] + texto[k2:].lower() menu.opcion(key, texto, icono, is_disabled, tipoLetra=talpha) else: menu.opcion(key, texto, icono, is_disabled) dicMenu[key] = (self.menu_run, texto, icono, is_disabled) # Posiciones de entrenamiento -------------------------------------------------------------------------- self.menuFNS(menu, _("Training positions"), xopcion) menu.separador() # GM --------------------------------------------------------------------------------------------------- xopcion(menu, "gm", _("Play like a GrandMaster"), Iconos.GranMaestro()) menu.separador() # Mate -------------------------------------------------------------------------------------------------- menu1 = menu.submenu(_("Training mates"), Iconos.Mate()) for mate in range(1, 8): xopcion(menu1, "mate%d" % mate, _X(_("Mate in %1"), str(mate)), Iconos.PuntoAzul()) menu1.separador() menu.separador() # BMT ------------------------------------------------------------------------------------------- xopcion(menu, "bmt", _("Find best move"), Iconos.BMT()) menu.separador() # Resistencia ------------------------------------------------------------------------------------------ menu1 = menu.submenu(_("Resistance Test"), Iconos.Resistencia()) nico = Util.Rondo(Iconos.Verde(), Iconos.Azul(), Iconos.Amarillo(), Iconos.Naranja()) xopcion(menu1, "resistance", _("Normal"), nico.otro()) xopcion(menu1, "resistancec", _("Blindfold chess"), nico.otro()) xopcion(menu1, "resistancep1", _("Hide only our pieces"), nico.otro()) xopcion(menu1, "resistancep2", _("Hide only opponent pieces"), nico.otro()) menu.separador() # DailyTest ------------------------------------------------------------------------------------------------ xopcion(menu, "dailytest", _("Your daily test"), Iconos.DailyTest()) menu.separador() # Tacticas --------------------------------------------------------------------------------------------- menu1 = menu.submenu(_("Learn tactics by repetition"), Iconos.Tacticas()) nico = Util.Rondo(Iconos.Amarillo(), Iconos.Naranja(), Iconos.Verde(), Iconos.Azul(), Iconos.Magenta()) dicTraining = TrListas.dicTraining() def trTraining(txt): return dicTraining.get(txt, txt) def menu_tacticas(submenu, tipo, carpeta_base, lista): if os.path.isdir(carpeta_base): for entry in os.scandir(carpeta_base): if entry.is_dir(): carpeta = entry.path ini = os.path.join(carpeta, "Config.ini") if os.path.isfile(ini): name = entry.name xopcion( submenu, "tactica|%s|%s|%s|%s" % (tipo, name, carpeta, ini), trTraining(name), nico.otro(), ) menu1.separador() lista.append((carpeta, name)) else: submenu1 = submenu.submenu(entry.name, nico.otro()) menu_tacticas(submenu1, tipo, carpeta, lista) return lista menu_tacticas(menu1, TACTICS_BASIC, Code.path_resource("Tactics"), []) lista = [] carpetaTacticasP = os.path.join(self.configuracion.dirPersonalTraining, "Tactics") if os.path.isdir(carpetaTacticasP): submenu1 = menu1.submenu(_("Personal tactics"), nico.otro()) lista = menu_tacticas(submenu1, TACTICS_PERSONAL, carpetaTacticasP, lista) if lista: ico = Iconos.Delete() menub = menu1.submenu(_("Remove"), ico) for carpeta, name in lista: xopcion(menub, "remtactica|%s|%s" % (carpeta, name), trTraining(name), ico) menu.separador() # Longs ---------------------------------------------------------------------------------------- menu1 = menu.submenu(_("Long-term trainings"), Iconos.Longhaul()) # Maps menu2 = menu1.submenu(_("Training on a map"), Iconos.Maps()) xopcion(menu2, "map_Africa", _("Africa map"), Iconos.Africa()) menu2.separador() xopcion(menu2, "map_WorldMap", _("World map"), Iconos.WorldMap()) # Rail menu1.separador() xopcion(menu1, "transsiberian", _("Transsiberian Railway"), Iconos.Train()) # Everest menu1.separador() xopcion(menu1, "everest", _("Expeditions to the Everest"), Iconos.Trekking()) # TOL menu1.separador() menu2 = menu1.submenu(_("Turn on the lights"), Iconos.TOL()) menu.separador() menu3 = menu2.submenu(_("Memory mode"), Iconos.TOL()) xopcion(menu3, "tol_uned_easy", "%s (%s)" % (_("UNED chess school"), _("Initial")), Iconos.Uned()) menu3.separador() xopcion(menu3, "tol_uned", "%s (%s)" % (_("UNED chess school"), _("Complete")), Iconos.Uned()) menu3.separador() xopcion(menu3, "tol_uwe_easy", "%s (%s)" % (_("Uwe Auerswald"), _("Initial")), Iconos.Uwe()) menu3.separador() xopcion(menu3, "tol_uwe", "%s (%s)" % (_("Uwe Auerswald"), _("Complete")), Iconos.Uwe()) menu2.separador() menu3 = menu2.submenu(_("Calculation mode"), Iconos.Calculo()) xopcion(menu3, "tol_uned_easy_calc", "%s (%s)" % (_("UNED chess school"), _("Initial")), Iconos.Uned()) menu3.separador() xopcion(menu3, "tol_uned_calc", "%s (%s)" % (_("UNED chess school"), _("Complete")), Iconos.Uned()) menu3.separador() xopcion(menu3, "tol_uwe_easy_calc", "%s (%s)" % (_("Uwe Auerswald"), _("Initial")), Iconos.Uwe()) menu3.separador() xopcion(menu3, "tol_uwe_calc", "%s (%s)" % (_("Uwe Auerswald"), _("Complete")), Iconos.Uwe()) # Washing menu2.separador() xopcion(menu2, "tol_oneline", _("In one line"), Iconos.TOLline()) menu1.separador() xopcion(menu1, "washing_machine", _("The Washing Machine"), Iconos.WashingMachine()) # Cebras --------------------------------------------------------------------------------------------------- menu.separador() # menu1 = menu.submenu(_("Resources for zebras"), Iconos.Cebra()) menu2 = menu.submenu(_("Check your memory on a chessboard"), Iconos.Memoria()) mem = Memoria.Memoria(self.procesador) categorias = CompetitionWithTutor.Categorias() for x in range(6): cat = categorias.number(x) txt = cat.name() nm = mem.nivel(x) if nm >= 0: txt += " %s %d" % (_("Level"), nm + 1) xopcion(menu2, -100 - x, txt, cat.icono(), is_disabled=not mem.is_active(x)) menu.separador() menu2 = menu.submenu(_("Find all moves"), Iconos.FindAllMoves()) xopcion(menu2, "find_all_moves_rival", _("Opponent"), Iconos.PuntoNaranja()) xopcion(menu2, "find_all_moves_player", _("Player"), Iconos.PuntoAzul()) menu.separador() self.horsesDef = hd = { 1: ("N", "Alpha", _("Basic test")), 2: ("p", "Fantasy", _("Four pawns test")), 3: ("Q", "Pirat", _("Jonathan Levitt test")), 4: ("n", "Spatial", _("Basic test") + ": a1"), 5: ("N", "Cburnett", _("Basic test") + ": e4"), } menu2 = menu.submenu(_("Becoming a knight tamer"), Iconos.Knight()) vicon = Code.todasPiezas.icono icl, icn, tit = hd[1] menu3 = menu2.submenu(tit, vicon(icl, icn)) xopcion(menu3, "horses_1", tit, vicon(icl, icn)) menu3.separador() icl, icn, tit = hd[4] xopcion(menu3, "horses_4", tit, vicon(icl, icn)) menu3.separador() icl, icn, tit = hd[5] xopcion(menu3, "horses_5", tit, vicon(icl, icn)) menu2.separador() icl, icn, tit = hd[2] xopcion(menu2, "horses_2", tit, vicon(icl, icn)) menu2.separador() icl, icn, tit = hd[3] xopcion(menu2, "horses_3", tit, vicon(icl, icn)) menu.separador() menu2 = menu.submenu(_("Moves between two positions"), Iconos.Puente()) rp = QTVarios.rondoPuntos() for x in range(1, 11): xopcion(menu2, "puente_%d" % x, "%s %d" % (_("Level"), x), rp.otro()) menu.separador() xopcion(menu, "potencia", _("Determine your calculating power"), Iconos.Potencia()) menu.separador() menu2 = menu.submenu(_("Learn a game"), Iconos.School()) xopcion(menu2, "learnPGN", _("Memorizing their moves"), Iconos.LearnGame()) menu2.separador() xopcion(menu2, "playGame", _("Playing against"), Iconos.Law()) menu.separador() xopcion(menu, "visualiza", _("The board at a glance"), Iconos.Gafas()) menu.separador() menu2 = menu.submenu(_("Coordinates"), Iconos.Coordinates()) xopcion(menu2, "coordinates_basic", _("Basic"), Iconos.West()) menu2.separador() xopcion(menu2, "coordinates_blocks", _("By blocks"), Iconos.Blocks()) menu.separador() xopcion(menu, "anotar", _("Writing down moves of a game"), Iconos.Write()) menu.separador() xopcion(menu, "captures", _("Captures and threats in a game"), Iconos.Captures()) menu.separador() xopcion(menu, "counts", _("Count moves"), Iconos.Count()) menu.separador() xopcion(menu, "15mate", _("Mate in 1½"), Iconos.Mate15()) menu.separador() xopcion(menu, "endings_gtb", _("Endings with Gaviota Tablebases"), Iconos.Finales()) return menu, dicMenu