def create_menu_games(self, menu, xopcion): menu.separador() menu_games = menu.submenu(_("Games"), Iconos.Training_Games()) # GM --------------------------------------------------------------------------------------------------- xopcion(menu_games, "gm", _("Play like a Grandmaster"), Iconos.GranMaestro()) menu.separador() menu_games.separador() xopcion(menu_games, "captures", _("Captures and threats in a game"), Iconos.Captures()) menu_games.separador() xopcion(menu_games, "counts", _("Count moves"), Iconos.Count()) # Resistencia ------------------------------------------------------------------------------------------ menu_games.separador() menu1 = menu_games.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_games.separador() menu2 = menu_games.submenu(_("Learn a game"), Iconos.School()) xopcion(menu2, "learnPGN", _("Memorizing their moves"), Iconos.LearnGame()) menu2.separador() xopcion(menu2, "playGame", _("Playing against"), Iconos.Law())
def __init__(self, procesador, is_captures): self.configuration = procesador.configuration self.is_captures = is_captures if is_captures: path = self.configuration.file_captures() title = _("Captures and threats in a game") icon = Iconos.Captures() extconfig = "captures" else: path = self.configuration.file_counts() title = _("Count moves") icon = Iconos.Count() extconfig = "counts" self.db = CountsCaptures.DBCountCapture(path) QTVarios.WDialogo.__init__(self, procesador.main_window, title, icon, extconfig) o_columns = Columnas.ListaColumnas() o_columns.nueva("DATE", _("Date"), 120, centered=True) o_columns.nueva("GAME", _("Game"), 520, centered=True) o_columns.nueva("CURRENT_MOVE", _("Current move"), 96, centered=True) o_columns.nueva("%", _("Success"), 90, centered=True) self.glista = Grid.Grid(self, o_columns, siSelecFilas=True, siSeleccionMultiple=True) f = Controles.TipoLetra(puntos=self.configuration.x_menu_points) self.glista.ponFuente(f) li_acciones = ( (_("Close"), Iconos.MainMenu(), self.terminar), None, (_("Play"), Iconos.Play(), self.play), None, (_("New"), Iconos.Nuevo(), self.new), None, (_("Repeat"), Iconos.Copiar(), self.repetir), None, (_("Remove"), Iconos.Borrar(), self.borrar), None, (_("Options"), Iconos.Opciones(), self.options), 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() + 20) self.glista.gotop()
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 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