예제 #1
0
    def set_working_directory(self, new_wd):
        """
        Establece el directorio root del working directory.

        :param new_wd: Ubicación del nuevo working directory
        :type new_wd: str

        :return: void
        :rtype: None
        """
        if self._is_folder(new_wd, "") and len(new_wd) > 0:
            new_wd = new_wd.replace("\\", "/").replace("//", "/")
            if new_wd[len(new_wd) - 1] != "/":
                new_wd += "/"
            self._wd = new_wd
        else:
            err.throw(err.ERROR_BADWD)
예제 #2
0
    def intializeMenuInicial(self):
        """
        Crea el menu inicial
        :return: void
        """
        try:
            # Colores de autos
            COLOR_CAR_1_1 = [(self.langs.get(100), "lr_classic_yellow"),
                             (self.langs.get(96), "lr_classic_blue"),
                             (self.langs.get(97), "lr_classic_cyan"),
                             (self.langs.get(99), "lr_classic_red"),
                             (self.langs.get(98), "lr_classic_pink")]
            COLOR_CAR_1_2 = [(self.langs.get(96), "lr_classic_blue"),
                             (self.langs.get(97), "lr_classic_cyan"),
                             (self.langs.get(99), "lr_classic_red"),
                             (self.langs.get(98), "lr_classic_pink"),
                             (self.langs.get(100), "lr_classic_yellow")]
            COLOR_CAR_1_3 = [(self.langs.get(97), "lr_classic_cyan"),
                             (self.langs.get(99), "lr_classic_red"),
                             (self.langs.get(98), "lr_classic_pink"),
                             (self.langs.get(100), "lr_classic_yellow"),
                             (self.langs.get(96), "lr_classic_blue")]
            COLOR_CAR_1_4 = [(self.langs.get(99), "lr_classic_red"),
                             (self.langs.get(98), "lr_classic_pink"),
                             (self.langs.get(100), "lr_classic_yellow"),
                             (self.langs.get(96), "lr_classic_blue"),
                             (self.langs.get(97), "lr_classic_cyan")]
            COLOR_CAR_1_5 = [(self.langs.get(98), "lr_classic_pink"),
                             (self.langs.get(100), "lr_classic_yellow"),
                             (self.langs.get(96), "lr_classic_blue"),
                             (self.langs.get(97), "lr_classic_cyan"),
                             (self.langs.get(99), "lr_classic_red")]
            COLOR_CAR_2_1 = [(self.langs.get(96), "lr_modern_blue"),
                             (self.langs.get(99), "lr_modern_red"),
                             (self.langs.get(98), "lr_modern_pink"),
                             (self.langs.get(101), "lr_modern_green")]
            COLOR_CAR_2_2 = [(self.langs.get(99), "lr_modern_red"),
                             (self.langs.get(98), "lr_modern_pink"),
                             (self.langs.get(101), "lr_modern_green"),
                             (self.langs.get(96), "lr_modern_blue")]
            COLOR_CAR_2_3 = [(self.langs.get(98), "lr_modern_pink"),
                             (self.langs.get(101), "lr_modern_green"),
                             (self.langs.get(96), "lr_modern_blue"),
                             (self.langs.get(99), "lr_modern_red")]
            COLOR_CAR_2_4 = [(self.langs.get(101), "lr_modern_green"),
                             (self.langs.get(96), "lr_modern_blue"),
                             (self.langs.get(99), "lr_modern_red"),
                             (self.langs.get(98), "lr_modern_pink")]
            COLOR_CAR_3_1 = [(self.langs.get(100), "lr_super_yellow"),
                             (self.langs.get(97), "lr_super_cyan"),
                             (self.langs.get(98), "lr_super_pink"),
                             (self.langs.get(101), "lr_super_green")]
            COLOR_CAR_3_2 = [(self.langs.get(97), "lr_super_cyan"),
                             (self.langs.get(98), "lr_super_pink"),
                             (self.langs.get(101), "lr_super_green"),
                             (self.langs.get(100), "lr_super_yellow")]
            COLOR_CAR_3_3 = [(self.langs.get(98), "lr_super_pink"),
                             (self.langs.get(101), "lr_super_green"),
                             (self.langs.get(100), "lr_super_yellow"),
                             (self.langs.get(97), "lr_super_cyan")]
            COLOR_CAR_3_4 = [(self.langs.get(101), "lr_super_green"),
                             (self.langs.get(100), "lr_super_yellow"),
                             (self.langs.get(97), "lr_super_cyan"),
                             (self.langs.get(98), "lr_super_pink")]
            # Tipos de auto
            TYPECAR_1 = [(self.langs.get(43), "1"), (self.langs.get(44), "2"),
                         (self.langs.get(45), "3")]
            TYPECAR_2 = [(self.langs.get(44), "2"), (self.langs.get(45), "3"),
                         (self.langs.get(43), "1")]
            TYPECAR_3 = [(self.langs.get(45), "3"), (self.langs.get(43), "1"),
                         (self.langs.get(44), "2")]

            def _launchTrack(*args):
                """
                Lanza una pista
                :return: void
                """
                self.reset(0)
                self.menuSoundChannel.stop()
                self.world.load_map()
                self.controller.disableMenu()
                self.controller.setPlayer()
                self.view.start_playing_render()

            def _saveConfig(value, *args):
                """
                Función que guarda configuraciones y las aplica
                :param value: Valor de la configuración
                :param *args: Argumentos adicionales
                :return: void
                """
                if args[1] != "SCREENSIZE":
                    args[0].setParameter(args[1], value)
                    args[0].export()
                else:
                    value = value.split(" ")
                    args[0].setParameter("WIDTH", value[0])
                    args[0].setParameter("HEIGHT", value[1])
                    args[0].export()
                    self.menu_configuracion.actual.opciones.pop(2)
                    self.menu_configuracion.actual.posOptionY -= (
                        -self.menu_configuracion.actual.fontsize / 2 - self.menu_configuracion.actual.optiondy / 2)
                    self.menu_configuracion.addSelector(self.langs.get(110),
                                                        self.window.get_display_list(),
                                                        _saveConfig,
                                                        None,
                                                        self.config_window,
                                                        "SCREENSIZE", index=2)
                    self.menu_configuracion.actual.size -= 1
                    # self.window.update()
                    # self.view.updateWindowSize()
                # Se aplican la configuraciones
                # Si se cambio el modo de ventana
                if args[1] == "WINDOWED" and value == "FALSE":
                    self.window.set_fullscreen()
                elif args[1] == "WINDOWED" and value == "TRUE":
                    self.window.set_windowed()
                # Si se activan / desactivan los sonidos
                if args[1] == "ENABLESOUND":
                    if value == "FALSE": self.menu_inicial_sfx.stop()
                    self.updateSound()
                # Si se activa / desactiva el mostrar los fps en el titulo de la ventana
                if args[1] == "SHOWFPS":
                    self.view.update_show_fps()
                # Si se cambia la pista a jugar
                if args[1] == "TYPECAR":
                    self.menu_jugar.actual.opciones.pop(2)
                    self.menu_jugar.actual.opciones.pop(2)
                    self.menu_jugar.actual.posOptionY -= 2 * (
                        -self.menu_jugar.actual.fontsize / 2 - self.menu_jugar.actual.optiondy / 2)
                    if value == "1":
                        self.menu_jugar.addSelector(self.langs.get(94),
                                                    TYPECAR_1, _saveConfig,
                                                    _launchTrack,
                                                    self.config_user,
                                                    "TYPECAR", index=2)
                        self.config_user.setParameter("TEXTURE",
                                                      "lr_classic_red")
                        self.menu_jugar.addSelector(self.langs.get(95),
                                                    COLOR_CAR_1_4, _saveConfig,
                                                    _launchTrack,
                                                    self.config_user,
                                                    "TEXTURE", index=3)
                    elif value == "2":
                        self.menu_jugar.addSelector(self.langs.get(94),
                                                    TYPECAR_2, _saveConfig,
                                                    _launchTrack,
                                                    self.config_user,
                                                    "TYPECAR", index=2)
                        self.config_user.setParameter("TEXTURE",
                                                      "lr_modern_red")
                        self.menu_jugar.addSelector(self.langs.get(95),
                                                    COLOR_CAR_2_2, _saveConfig,
                                                    _launchTrack,
                                                    self.config_user,
                                                    "TEXTURE", index=3)
                    elif value == "3":
                        self.menu_jugar.addSelector(self.langs.get(94),
                                                    TYPECAR_3, _saveConfig,
                                                    _launchTrack,
                                                    self.config_user,
                                                    "TYPECAR", index=2)
                        self.config_user.setParameter("TEXTURE",
                                                      "lr_super_cyan")
                        self.menu_jugar.addSelector(self.langs.get(95),
                                                    COLOR_CAR_3_2, _saveConfig,
                                                    _launchTrack,
                                                    self.config_user,
                                                    "TEXTURE", index=3)
                    self.menu_jugar.actual.size -= 2
                    args[0].export()
                # Si se activa/ desactiva el mostrar el fantasma
                if args[1] == "SHOWGHOST":
                    self.view.update_show_ghost()

            # Menu jugar
            self.menu_jugar = Menu(self.window, self.font, self.langs.get(61),
                                   draw_region_y=55)
            self.menu_jugar.addOption(self.langs.get(104), _launchTrack, "a")
            # Se cargan los mapas
            tracks = []
            actual_map = int(self.config_map.getValue("DEFAULTMAP"))
            tracks.append((TRACKS[actual_map], str(actual_map)))
            for track in TRACKS.keys():
                if track != actual_map:
                    tracks.append((TRACKS[track], str(track)))
            self.menu_jugar.addSelector(self.langs.get(103), tracks,
                                        _saveConfig, None, self.config_map,
                                        "DEFAULTMAP")
            if self.config_user.getValue("TYPECAR") == "1":
                typecar_values = TYPECAR_1
            elif self.config_user.getValue("TYPECAR") == "2":
                typecar_values = TYPECAR_2
            else:
                typecar_values = TYPECAR_3
            self.menu_jugar.addSelector(self.langs.get(94), typecar_values,
                                        _saveConfig, None, self.config_user,
                                        "TYPECAR")
            if self.config_user.getValue("TYPECAR") == "1":
                if self.config_user.getValue("TEXTURE") == "lr_classic_yellow":
                    self.menu_jugar.addSelector(self.langs.get(95),
                                                COLOR_CAR_1_1, _saveConfig,
                                                _launchTrack,
                                                self.config_user, "TEXTURE")
                elif self.config_user.getValue("TEXTURE") == "lr_classic_blue":
                    self.menu_jugar.addSelector(self.langs.get(95),
                                                COLOR_CAR_1_2, _saveConfig,
                                                _launchTrack,
                                                self.config_user, "TEXTURE")
                elif self.config_user.getValue("TEXTURE") == "lr_classic_cyan":
                    self.menu_jugar.addSelector(self.langs.get(95),
                                                COLOR_CAR_1_3, _saveConfig,
                                                _launchTrack,
                                                self.config_user, "TEXTURE")
                elif self.config_user.getValue("TEXTURE") == "lr_classic_red":
                    self.menu_jugar.addSelector(self.langs.get(95),
                                                COLOR_CAR_1_4, _saveConfig,
                                                _launchTrack,
                                                self.config_user, "TEXTURE")
                elif self.config_user.getValue("TEXTURE") == "lr_classic_pink":
                    self.menu_jugar.addSelector(self.langs.get(95),
                                                COLOR_CAR_1_5, _saveConfig,
                                                _launchTrack,
                                                self.config_user, "TEXTURE")
                else:
                    self.menu_jugar.addSelector(self.langs.get(95),
                                                COLOR_CAR_1_4, _saveConfig,
                                                _launchTrack,
                                                self.config_user, "TEXTURE")
            elif self.config_user.getValue("TYPECAR") == "2":
                if self.config_user.getValue("TEXTURE") == "lr_modern_blue":
                    self.menu_jugar.addSelector(self.langs.get(95),
                                                COLOR_CAR_2_1, _saveConfig,
                                                _launchTrack,
                                                self.config_user, "TEXTURE")
                elif self.config_user.getValue("TEXTURE") == "lr_modern_red":
                    self.menu_jugar.addSelector(self.langs.get(95),
                                                COLOR_CAR_2_2, _saveConfig,
                                                _launchTrack,
                                                self.config_user, "TEXTURE")
                elif self.config_user.getValue("TEXTURE") == "lr_modern_pink":
                    self.menu_jugar.addSelector(self.langs.get(95),
                                                COLOR_CAR_2_3, _saveConfig,
                                                _launchTrack,
                                                self.config_user, "TEXTURE")
                elif self.config_user.getValue("TEXTURE") == "lr_modern_green":
                    self.menu_jugar.addSelector(self.langs.get(95),
                                                COLOR_CAR_2_4, _saveConfig,
                                                _launchTrack,
                                                self.config_user, "TEXTURE")
                else:
                    self.menu_jugar.addSelector(self.langs.get(95),
                                                COLOR_CAR_2_2, _saveConfig,
                                                _launchTrack,
                                                self.config_user, "TEXTURE")
            elif self.config_user.getValue("TYPECAR") == "3":
                if self.config_user.getValue("TEXTURE") == "lr_super_yellow":
                    self.menu_jugar.addSelector(self.langs.get(95),
                                                COLOR_CAR_3_1, _saveConfig,
                                                _launchTrack,
                                                self.config_user, "TEXTURE")
                elif self.config_user.getValue("TEXTURE") == "lr_super_cyan":
                    self.menu_jugar.addSelector(self.langs.get(95),
                                                COLOR_CAR_3_2, _saveConfig,
                                                _launchTrack,
                                                self.config_user, "TEXTURE")
                elif self.config_user.getValue("TEXTURE") == "lr_super_pink":
                    self.menu_jugar.addSelector(self.langs.get(95),
                                                COLOR_CAR_3_3, _saveConfig,
                                                _launchTrack,
                                                self.config_user, "TEXTURE")
                elif self.config_user.getValue("TEXTURE") == "lr_super_green":
                    self.menu_jugar.addSelector(self.langs.get(95),
                                                COLOR_CAR_3_4, _saveConfig,
                                                _launchTrack,
                                                self.config_user, "TEXTURE")
                else:
                    self.menu_jugar.addSelector(self.langs.get(95),
                                                COLOR_CAR_3_2, _saveConfig,
                                                _launchTrack,
                                                self.config_user, "TEXTURE")
            self.menu_jugar.addOption(self.langs.get(102), MENU_BACK)
            # Menu de configuraciones
            self.menu_configuracion = Menu(self.window, self.font,
                                           self.langs.get(62), centered=False,
                                           draw_region_x=5,
                                           font_size=25, option_margin=20)
            if self.config_window.isTrue("WINDOWED"):
                window_values = [(self.langs.get(84), "TRUE"),
                                 (self.langs.get(85), "FALSE")]
            else:
                window_values = [(self.langs.get(85), "FALSE"),
                                 (self.langs.get(84), "TRUE")]
            if self.config_game.isTrue("ENABLESOUND"):
                sound_values = [(self.langs.get(84), "TRUE"),
                                (self.langs.get(85), "FALSE")]
            else:
                sound_values = [(self.langs.get(85), "FALSE"),
                                (self.langs.get(84), "TRUE")]
            if self.config_game.getValue("LANG") == "ES":
                lang_values = [(self.langs.get(89), "ES"),
                               (self.langs.get(90), "EN")]
            else:
                lang_values = [(self.langs.get(90), "EN"),
                               (self.langs.get(89), "ES")]
            # if self.config_game.getValue("FPS") == "60": fps_values = [("60", "60"), ("30", "30"), ("45", "45")]
            # elif self.config_game.getValue("FPS") == "30": fps_values = [("30", "30"), ("45", "45"), ("60", "60")]
            # else: fps_values = [("45", "45"), ("60", "60"), ("30", "30")]
            if self.config_view.isTrue("SHOWFPS"):
                showfps_values = [(self.langs.get(84), "TRUE"),
                                  (self.langs.get(85), "FALSE")]
            else:
                showfps_values = [(self.langs.get(85), "FALSE"),
                                  (self.langs.get(84), "TRUE")]
            if self.config_view.isTrue("SHOWGHOST"):
                showghost_values = [(self.langs.get(84), "TRUE"),
                                    (self.langs.get(85), "FALSE")]
            else:
                showghost_values = [(self.langs.get(85), "FALSE"),
                                    (self.langs.get(84), "TRUE")]
            self.menu_configuracion.addSelector(self.langs.get(88),
                                                lang_values, _saveConfig, None,
                                                self.config_game,
                                                "LANG")
            self.menu_configuracion.addSelector(self.langs.get(87),
                                                sound_values, _saveConfig,
                                                None, self.config_game,
                                                "ENABLESOUND")
            self.menu_configuracion.addSelector(self.langs.get(110),
                                                self.window.get_display_list(),
                                                _saveConfig, None,
                                                self.config_window,
                                                "SCREENSIZE")
            self.menu_configuracion.addSelector(self.langs.get(83),
                                                window_values, _saveConfig,
                                                None,
                                                self.config_window, "WINDOWED")
            # self.menu_configuracion.addSelector(self.langs.get(91), fps_values, _saveConfig, None, self.config_game, "FPS")
            self.menu_configuracion.addSelector(self.langs.get(92),
                                                showfps_values, _saveConfig,
                                                None, self.config_view,
                                                "SHOWFPS")
            self.menu_configuracion.addSelector(self.langs.get(93),
                                                showghost_values, _saveConfig,
                                                None,
                                                self.config_view, "SHOWGHOST")
            self.menu_configuracion.addOption(self.langs.get(86), MENU_BACK)
            # Menu de ayuda
            menu_ayuda = textMenu(self.window, self.font, self.langs.get(63),
                                  font_text_size=18, draw_text_region=2,
                                  draw_region_y=58)
            menu_ayuda.addText(self.langs.get(66))
            menu_ayuda.addText(self.langs.get(68))
            menu_ayuda.addText(self.langs.get(69))
            menu_ayuda.addText(self.langs.get(70))
            menu_ayuda.addText(self.langs.get(71))
            menu_ayuda.addText(self.langs.get(72))
            menu_ayuda.addText(self.langs.get(73))
            menu_ayuda.addText(self.langs.get(74))
            menu_ayuda.addText(self.langs.get(75))
            menu_ayuda.addText(self.langs.get(76))
            menu_ayuda.addText(self.langs.get(77))
            menu_ayuda.addText(self.langs.get(78))
            menu_ayuda.addOption(self.langs.get(67), MENU_BACK)
            # Menu acerca de
            menu_acercade = textMenu(self.window, self.font,
                                     self.langs.get(64), text_centered=True,
                                     draw_text_region=50, draw_region_y=50)
            menu_acercade.addText(self.langs.get(79))
            menu_acercade.addText(self.langs.get(80))
            menu_acercade.addText(self.langs.get(81))
            menu_acercade.addText(self.langs.get(82))
            menu_acercade.addOption(self.langs.get(67), MENU_BACK)
            # Se crea el menú de inicio
            self.menu_inicial = Menu(self.window, self.font,
                                     self.langs.get(60), draw_region_y=56)
            self.menu_inicial.addOption(self.langs.get(61), self.menu_jugar)
            self.menu_inicial.addOption(self.langs.get(62),
                                        self.menu_configuracion)
            self.menu_inicial.addOption(self.langs.get(63), menu_ayuda)
            self.menu_inicial.addOption(self.langs.get(64), menu_acercade)
            self.menu_inicial.addOption(self.langs.get(65), MENU_EXIT)
        except:
            errors.throw(errors.ERROR_CREATE_MENU)
예제 #3
0
    def intializeMenuInicial(self):
        """
        Crea el menu inicial
        :return: void
        """
        try:
            # Colores de autos
            COLOR_CAR_1_1 = [(self.langs.get(100), "lr_classic_yellow"),
                             (self.langs.get(96), "lr_classic_blue"),
                             (self.langs.get(97), "lr_classic_cyan"),
                             (self.langs.get(99), "lr_classic_red"),
                             (self.langs.get(98), "lr_classic_pink")]
            COLOR_CAR_1_2 = [(self.langs.get(96), "lr_classic_blue"),
                             (self.langs.get(97), "lr_classic_cyan"),
                             (self.langs.get(99), "lr_classic_red"),
                             (self.langs.get(98), "lr_classic_pink"),
                             (self.langs.get(100), "lr_classic_yellow")]
            COLOR_CAR_1_3 = [(self.langs.get(97), "lr_classic_cyan"),
                             (self.langs.get(99), "lr_classic_red"),
                             (self.langs.get(98), "lr_classic_pink"),
                             (self.langs.get(100), "lr_classic_yellow"),
                             (self.langs.get(96), "lr_classic_blue")]
            COLOR_CAR_1_4 = [(self.langs.get(99), "lr_classic_red"),
                             (self.langs.get(98), "lr_classic_pink"),
                             (self.langs.get(100), "lr_classic_yellow"),
                             (self.langs.get(96), "lr_classic_blue"),
                             (self.langs.get(97), "lr_classic_cyan")]
            COLOR_CAR_1_5 = [(self.langs.get(98), "lr_classic_pink"),
                             (self.langs.get(100), "lr_classic_yellow"),
                             (self.langs.get(96), "lr_classic_blue"),
                             (self.langs.get(97), "lr_classic_cyan"),
                             (self.langs.get(99), "lr_classic_red")]
            COLOR_CAR_2_1 = [(self.langs.get(96), "lr_modern_blue"),
                             (self.langs.get(99), "lr_modern_red"),
                             (self.langs.get(98), "lr_modern_pink"),
                             (self.langs.get(101), "lr_modern_green")]
            COLOR_CAR_2_2 = [(self.langs.get(99), "lr_modern_red"),
                             (self.langs.get(98), "lr_modern_pink"),
                             (self.langs.get(101), "lr_modern_green"),
                             (self.langs.get(96), "lr_modern_blue")]
            COLOR_CAR_2_3 = [(self.langs.get(98), "lr_modern_pink"),
                             (self.langs.get(101), "lr_modern_green"),
                             (self.langs.get(96), "lr_modern_blue"),
                             (self.langs.get(99), "lr_modern_red")]
            COLOR_CAR_2_4 = [(self.langs.get(101), "lr_modern_green"),
                             (self.langs.get(96), "lr_modern_blue"),
                             (self.langs.get(99), "lr_modern_red"),
                             (self.langs.get(98), "lr_modern_pink")]
            COLOR_CAR_3_1 = [(self.langs.get(100), "lr_super_yellow"),
                             (self.langs.get(97), "lr_super_cyan"),
                             (self.langs.get(98), "lr_super_pink"),
                             (self.langs.get(101), "lr_super_green")]
            COLOR_CAR_3_2 = [(self.langs.get(97), "lr_super_cyan"),
                             (self.langs.get(98), "lr_super_pink"),
                             (self.langs.get(101), "lr_super_green"),
                             (self.langs.get(100), "lr_super_yellow")]
            COLOR_CAR_3_3 = [(self.langs.get(98), "lr_super_pink"),
                             (self.langs.get(101), "lr_super_green"),
                             (self.langs.get(100), "lr_super_yellow"),
                             (self.langs.get(97), "lr_super_cyan")]
            COLOR_CAR_3_4 = [(self.langs.get(101), "lr_super_green"),
                             (self.langs.get(100), "lr_super_yellow"),
                             (self.langs.get(97), "lr_super_cyan"),
                             (self.langs.get(98), "lr_super_pink")]
            # Tipos de auto
            TYPECAR_1 = [(self.langs.get(43), "1"), (self.langs.get(44), "2"),
                         (self.langs.get(45), "3")]
            TYPECAR_2 = [(self.langs.get(44), "2"), (self.langs.get(45), "3"),
                         (self.langs.get(43), "1")]
            TYPECAR_3 = [(self.langs.get(45), "3"), (self.langs.get(43), "1"),
                         (self.langs.get(44), "2")]

            def _launchTrack():
                """
                Lanza una pista
                :return: void
                """
                self.reset(0)
                self.menuSoundChannel.stop()
                self.world.load_map()
                self.controller.disable_menu()
                self.controller.set_player()
                self.view.start_playing_render()

            def _saveConfig(value, *args):
                """
                Función que guarda configuraciones y las aplica
                :param value: Valor de la configuración
                :param *args: Argumentos adicionales
                :return: void
                """
                if args[1] != "SCREENSIZE":
                    args[0].setParameter(args[1], value)
                    args[0].export()
                else:
                    value = value.split(" ")
                    args[0].setParameter("WIDTH", value[0])
                    args[0].setParameter("HEIGHT", value[1])
                    args[0].export()
                    self.menu_configuracion.actual.opciones.pop(2)
                    self.menu_configuracion.actual.posOptionY -= (
                        -self.menu_configuracion.actual.fontsize / 2 -
                        self.menu_configuracion.actual.optiondy / 2)
                    self.menu_configuracion.add_selector(
                        self.langs.get(110),
                        self.window.get_display_list(),
                        _saveConfig,
                        None,
                        self.config_window,
                        "SCREENSIZE",
                        index=2)
                    self.menu_configuracion.actual.size -= 1
                    # self.window.update()
                    # self.view.updateWindowSize()
                # Se aplican la configuraciones
                # Si se cambio el modo de ventana
                if args[1] == "WINDOWED" and value == "FALSE":
                    self.window.set_fullscreen()
                elif args[1] == "WINDOWED" and value == "TRUE":
                    self.window.set_windowed()
                # Si se activan / desactivan los sonidos
                if args[1] == "ENABLESOUND":
                    if value == "FALSE":
                        self.menu_inicial_sfx.stop()
                    self.updateSound()
                # Si se activa / desactiva el mostrar los fps en el titulo de la ventana
                if args[1] == "SHOWFPS":
                    self.view.update_show_fps()
                # Si se cambia la pista a jugar
                if args[1] == "TYPECAR":
                    self.menu_jugar.actual.opciones.pop(2)
                    self.menu_jugar.actual.opciones.pop(2)
                    self.menu_jugar.actual.posOptionY -= 2 * (
                        -self.menu_jugar.actual.fontsize / 2 -
                        self.menu_jugar.actual.optiondy / 2)
                    if value == "1":
                        self.menu_jugar.add_selector(self.langs.get(94),
                                                     TYPECAR_1,
                                                     _saveConfig,
                                                     _launchTrack,
                                                     self.config_user,
                                                     "TYPECAR",
                                                     index=2)
                        self.config_user.setParameter("TEXTURE",
                                                      "lr_classic_red")
                        self.menu_jugar.add_selector(self.langs.get(95),
                                                     COLOR_CAR_1_4,
                                                     _saveConfig,
                                                     _launchTrack,
                                                     self.config_user,
                                                     "TEXTURE",
                                                     index=3)
                    elif value == "2":
                        self.menu_jugar.add_selector(self.langs.get(94),
                                                     TYPECAR_2,
                                                     _saveConfig,
                                                     _launchTrack,
                                                     self.config_user,
                                                     "TYPECAR",
                                                     index=2)
                        self.config_user.setParameter("TEXTURE",
                                                      "lr_modern_red")
                        self.menu_jugar.add_selector(self.langs.get(95),
                                                     COLOR_CAR_2_2,
                                                     _saveConfig,
                                                     _launchTrack,
                                                     self.config_user,
                                                     "TEXTURE",
                                                     index=3)
                    elif value == "3":
                        self.menu_jugar.add_selector(self.langs.get(94),
                                                     TYPECAR_3,
                                                     _saveConfig,
                                                     _launchTrack,
                                                     self.config_user,
                                                     "TYPECAR",
                                                     index=2)
                        self.config_user.setParameter("TEXTURE",
                                                      "lr_super_cyan")
                        self.menu_jugar.add_selector(self.langs.get(95),
                                                     COLOR_CAR_3_2,
                                                     _saveConfig,
                                                     _launchTrack,
                                                     self.config_user,
                                                     "TEXTURE",
                                                     index=3)
                    self.menu_jugar.actual.size -= 2
                    args[0].export()
                # Si se activa/ desactiva el mostrar el fantasma
                if args[1] == "SHOWGHOST":
                    self.view.update_show_ghost()

            # Menu jugar
            self.menu_jugar = Menu(self.window,
                                   self.font,
                                   self.langs.get(61),
                                   draw_region_y=55)
            self.menu_jugar.add_option(self.langs.get(104), _launchTrack)
            # Se cargan los mapas
            tracks = []
            actual_map = int(self.config_map.getValue("DEFAULTMAP"))
            tracks.append((TRACKS[actual_map], str(actual_map)))
            for track in TRACKS.keys():
                if track != actual_map:
                    tracks.append((TRACKS[track], str(track)))
            self.menu_jugar.add_selector(self.langs.get(103), tracks,
                                         _saveConfig, None, self.config_map,
                                         "DEFAULTMAP")
            if self.config_user.getValue("TYPECAR") == "1":
                typecar_values = TYPECAR_1
            elif self.config_user.getValue("TYPECAR") == "2":
                typecar_values = TYPECAR_2
            else:
                typecar_values = TYPECAR_3
            self.menu_jugar.add_selector(self.langs.get(94), typecar_values,
                                         _saveConfig, None, self.config_user,
                                         "TYPECAR")
            if self.config_user.getValue("TYPECAR") == "1":
                if self.config_user.getValue("TEXTURE") == "lr_classic_yellow":
                    self.menu_jugar.add_selector(self.langs.get(95),
                                                 COLOR_CAR_1_1, _saveConfig,
                                                 _launchTrack,
                                                 self.config_user, "TEXTURE")
                elif self.config_user.getValue("TEXTURE") == "lr_classic_blue":
                    self.menu_jugar.add_selector(self.langs.get(95),
                                                 COLOR_CAR_1_2, _saveConfig,
                                                 _launchTrack,
                                                 self.config_user, "TEXTURE")
                elif self.config_user.getValue("TEXTURE") == "lr_classic_cyan":
                    self.menu_jugar.add_selector(self.langs.get(95),
                                                 COLOR_CAR_1_3, _saveConfig,
                                                 _launchTrack,
                                                 self.config_user, "TEXTURE")
                elif self.config_user.getValue("TEXTURE") == "lr_classic_red":
                    self.menu_jugar.add_selector(self.langs.get(95),
                                                 COLOR_CAR_1_4, _saveConfig,
                                                 _launchTrack,
                                                 self.config_user, "TEXTURE")
                elif self.config_user.getValue("TEXTURE") == "lr_classic_pink":
                    self.menu_jugar.add_selector(self.langs.get(95),
                                                 COLOR_CAR_1_5, _saveConfig,
                                                 _launchTrack,
                                                 self.config_user, "TEXTURE")
                else:
                    self.menu_jugar.add_selector(self.langs.get(95),
                                                 COLOR_CAR_1_4, _saveConfig,
                                                 _launchTrack,
                                                 self.config_user, "TEXTURE")
            elif self.config_user.getValue("TYPECAR") == "2":
                if self.config_user.getValue("TEXTURE") == "lr_modern_blue":
                    self.menu_jugar.add_selector(self.langs.get(95),
                                                 COLOR_CAR_2_1, _saveConfig,
                                                 _launchTrack,
                                                 self.config_user, "TEXTURE")
                elif self.config_user.getValue("TEXTURE") == "lr_modern_red":
                    self.menu_jugar.add_selector(self.langs.get(95),
                                                 COLOR_CAR_2_2, _saveConfig,
                                                 _launchTrack,
                                                 self.config_user, "TEXTURE")
                elif self.config_user.getValue("TEXTURE") == "lr_modern_pink":
                    self.menu_jugar.add_selector(self.langs.get(95),
                                                 COLOR_CAR_2_3, _saveConfig,
                                                 _launchTrack,
                                                 self.config_user, "TEXTURE")
                elif self.config_user.getValue("TEXTURE") == "lr_modern_green":
                    self.menu_jugar.add_selector(self.langs.get(95),
                                                 COLOR_CAR_2_4, _saveConfig,
                                                 _launchTrack,
                                                 self.config_user, "TEXTURE")
                else:
                    self.menu_jugar.add_selector(self.langs.get(95),
                                                 COLOR_CAR_2_2, _saveConfig,
                                                 _launchTrack,
                                                 self.config_user, "TEXTURE")
            elif self.config_user.getValue("TYPECAR") == "3":
                if self.config_user.getValue("TEXTURE") == "lr_super_yellow":
                    self.menu_jugar.add_selector(self.langs.get(95),
                                                 COLOR_CAR_3_1, _saveConfig,
                                                 _launchTrack,
                                                 self.config_user, "TEXTURE")
                elif self.config_user.getValue("TEXTURE") == "lr_super_cyan":
                    self.menu_jugar.add_selector(self.langs.get(95),
                                                 COLOR_CAR_3_2, _saveConfig,
                                                 _launchTrack,
                                                 self.config_user, "TEXTURE")
                elif self.config_user.getValue("TEXTURE") == "lr_super_pink":
                    self.menu_jugar.add_selector(self.langs.get(95),
                                                 COLOR_CAR_3_3, _saveConfig,
                                                 _launchTrack,
                                                 self.config_user, "TEXTURE")
                elif self.config_user.getValue("TEXTURE") == "lr_super_green":
                    self.menu_jugar.add_selector(self.langs.get(95),
                                                 COLOR_CAR_3_4, _saveConfig,
                                                 _launchTrack,
                                                 self.config_user, "TEXTURE")
                else:
                    self.menu_jugar.add_selector(self.langs.get(95),
                                                 COLOR_CAR_3_2, _saveConfig,
                                                 _launchTrack,
                                                 self.config_user, "TEXTURE")
            self.menu_jugar.add_option(self.langs.get(102), MENU_BACK)
            # Menu de configuraciones
            self.menu_configuracion = Menu(self.window,
                                           self.font,
                                           self.langs.get(62),
                                           centered=False,
                                           draw_region_x=5,
                                           font_size=25,
                                           option_margin=20)
            if self.config_window.isTrue("WINDOWED"):
                window_values = [(self.langs.get(84), "TRUE"),
                                 (self.langs.get(85), "FALSE")]
            else:
                window_values = [(self.langs.get(85), "FALSE"),
                                 (self.langs.get(84), "TRUE")]
            if self.config_game.isTrue("ENABLESOUND"):
                sound_values = [(self.langs.get(84), "TRUE"),
                                (self.langs.get(85), "FALSE")]
            else:
                sound_values = [(self.langs.get(85), "FALSE"),
                                (self.langs.get(84), "TRUE")]
            if self.config_game.getValue("LANG") == "ES":
                lang_values = [(self.langs.get(89), "ES"),
                               (self.langs.get(90), "EN")]
            else:
                lang_values = [(self.langs.get(90), "EN"),
                               (self.langs.get(89), "ES")]
            # if self.config_game.getValue("FPS") == "60": fps_values = [("60", "60"), ("30", "30"), ("45", "45")]
            # elif self.config_game.getValue("FPS") == "30": fps_values = [("30", "30"), ("45", "45"), ("60", "60")]
            # else: fps_values = [("45", "45"), ("60", "60"), ("30", "30")]
            if self.config_view.isTrue("SHOWFPS"):
                showfps_values = [(self.langs.get(84), "TRUE"),
                                  (self.langs.get(85), "FALSE")]
            else:
                showfps_values = [(self.langs.get(85), "FALSE"),
                                  (self.langs.get(84), "TRUE")]
            if self.config_view.isTrue("SHOWGHOST"):
                showghost_values = [(self.langs.get(84), "TRUE"),
                                    (self.langs.get(85), "FALSE")]
            else:
                showghost_values = [(self.langs.get(85), "FALSE"),
                                    (self.langs.get(84), "TRUE")]
            self.menu_configuracion.add_selector(self.langs.get(88),
                                                 lang_values, _saveConfig,
                                                 None, self.config_game,
                                                 "LANG")
            self.menu_configuracion.add_selector(self.langs.get(87),
                                                 sound_values, _saveConfig,
                                                 None, self.config_game,
                                                 "ENABLESOUND")
            self.menu_configuracion.add_selector(
                self.langs.get(110), self.window.get_display_list(),
                _saveConfig, None, self.config_window, "SCREENSIZE")
            self.menu_configuracion.add_selector(self.langs.get(83),
                                                 window_values, _saveConfig,
                                                 None, self.config_window,
                                                 "WINDOWED")
            # self.menu_configuracion.addSelector(self.langs.get(91),fps_values,_saveConfig,None,self.config_game,"FPS")
            self.menu_configuracion.add_selector(self.langs.get(92),
                                                 showfps_values, _saveConfig,
                                                 None, self.config_view,
                                                 "SHOWFPS")
            self.menu_configuracion.add_selector(self.langs.get(93),
                                                 showghost_values, _saveConfig,
                                                 None, self.config_view,
                                                 "SHOWGHOST")
            self.menu_configuracion.add_option(self.langs.get(86), MENU_BACK)
            # Menu de ayuda
            menu_ayuda = Textmenu(self.window,
                                  self.font,
                                  self.langs.get(63),
                                  font_text_size=18,
                                  draw_text_region=2,
                                  draw_region_y=58)
            menu_ayuda.add_text(self.langs.get(66))
            menu_ayuda.add_text(self.langs.get(68))
            menu_ayuda.add_text(self.langs.get(69))
            menu_ayuda.add_text(self.langs.get(70))
            menu_ayuda.add_text(self.langs.get(71))
            menu_ayuda.add_text(self.langs.get(72))
            menu_ayuda.add_text(self.langs.get(73))
            menu_ayuda.add_text(self.langs.get(74))
            menu_ayuda.add_text(self.langs.get(75))
            menu_ayuda.add_text(self.langs.get(76))
            menu_ayuda.add_text(self.langs.get(77))
            menu_ayuda.add_text(self.langs.get(78))
            menu_ayuda.add_option(self.langs.get(67), MENU_BACK)
            # Menu acerca de
            menu_acercade = Textmenu(self.window,
                                     self.font,
                                     self.langs.get(64),
                                     text_centered=True,
                                     draw_text_region=50,
                                     draw_region_y=50)
            menu_acercade.add_text(self.langs.get(79))
            menu_acercade.add_text(self.langs.get(80))
            menu_acercade.add_text(self.langs.get(81))
            menu_acercade.add_text(self.langs.get(82))
            menu_acercade.add_option(self.langs.get(67), MENU_BACK)
            # Se crea el menú de inicio
            self.menu_inicial = Menu(self.window,
                                     self.font,
                                     self.langs.get(60),
                                     draw_region_y=56)
            self.menu_inicial.add_option(self.langs.get(61), self.menu_jugar)
            self.menu_inicial.add_option(self.langs.get(62),
                                         self.menu_configuracion)
            self.menu_inicial.add_option(self.langs.get(63), menu_ayuda)
            self.menu_inicial.add_option(self.langs.get(64), menu_acercade)
            self.menu_inicial.add_option(self.langs.get(65), MENU_EXIT)
        except:
            errors.throw(errors.ERROR_CREATE_MENU)
예제 #4
0
    def load_map(self, index=None):
        """
        Crea un mapa
        :param index: Indice de la pista a cargar
        :return: void
        """
        if index is None:
            index = int(self.configMap.getValue("DEFAULTMAP"))
        else:
            if index == NEXT_TRACK:
                index = get_next_track(self.actualMapIndex)
        # Si el indice no existe
        if index not in TRACKS.keys():
            throw(ERROR_TRACKNOTEXIST, index)
        self.actualMapIndex = index
        # Se crea el objeto
        self.actualMap = mapTrack(self.configMap, self.window)
        # Se define el titulo del mapa
        self.actualMap.setTitle(TRACKS[index])
        if self.verbose:
            print self.langs.get(56, self.actualMap.getTrackTitle())

        # Pista 1 - El origen
        if index == 1:
            try:
                # Se definen los límites del mapas
                self.actualMap.setMapLimits(-2500, -2200, 3200, 3200)
                # Se definen las vueltas máximas
                self.actualMap.setLaps(3)
                # Se definen los objetivos del mapa
                self.actualMap.setObjetives([(17.5, 19.5, 23.5), (17.0, 19.2, 22.5), (15.5, 17.1, 20.0)])
                # Se define el fondo del mundo
                self.actualMap.setBackground(self.load_image("grass", alpha=False))
                # Se agrega al jugador
                self.actualMap.addCar(
                    int(self.userConfig.getValue("TYPECAR")),
                    self.userConfig.getValue("TEXTURE"),
                    True,
                    0,
                    True,
                    self.actualMap.getTrackLogic(),
                    self.sounds,
                    self.soundsChannel,
                    self.checksum,
                    self.scoreConfig,
                    self.playerName,
                    self.actualMap.getTrackTitle(),
                    self.gameConfig,
                    self.browser,
                    rotate=-270,
                    verbose=self.verbose,
                )
                # Se agregan decoraciones
                self.actualMap.addDecoration(self.load_image("tree0", alpha=True), (1650, 0))
                self.actualMap.addDecoration(self.load_image("tree0", alpha=True), (1400, -250))
                self.actualMap.addDecoration(self.load_image("tree0", alpha=True), (1440, 300))
                self.actualMap.addDecoration(self.load_image("tree0", alpha=True), (800, 100))
                self.actualMap.addDecoration(self.load_image("tree0", alpha=True), (750, -300))
                self.actualMap.addDecoration(self.load_image("tree1", alpha=True), (650, -600))
                self.actualMap.addDecoration(self.load_image("tree1", alpha=True), (-600, -600))
                self.actualMap.addDecoration(self.load_image("tree1", alpha=True), (-600, -1200))
                self.actualMap.addDecoration(self.load_image("tree0", alpha=True), (-400, -1400))
                self.actualMap.addDecoration(self.load_image("tree0", alpha=True), (-180, -150))
                self.actualMap.addDecoration(self.load_image("tree0", alpha=True), (1350, -1250))
                self.actualMap.addDecoration(self.load_image("tree0", alpha=True), (180, -800))
                self.actualMap.addDecoration(self.load_image("tree0", alpha=True), (180, 500))
                self.actualMap.addDecoration(self.load_image("tree0", alpha=True), (180, 500))
                self.actualMap.addDecoration(self.load_image("tree1", alpha=True), (-450, 550))
                self.actualMap.addDecoration(self.load_image("tree0", alpha=True), (-1300, 750))
                self.actualMap.addDecoration(self.load_image("tree0", alpha=True), (-1200, 0))
                self.actualMap.addDecoration(self.load_image("tree0", alpha=True), (0, 1300))
                self.actualMap.addDecoration(self.load_image("tree0", alpha=True), (700, 1280))
                self.actualMap.addDecoration(self.load_image("tree0", alpha=True), (1400, 1080))
                self.actualMap.addDecoration(self.load_image("tree0", alpha=True), (793, -1607))
                self.actualMap.addDecoration(self.load_image("tree0", alpha=True), (1603, -677))
                self.actualMap.addDecoration(self.load_image("tree0", alpha=True), (1483, 523))
                self.actualMap.addDecoration(self.load_image("tree0", alpha=True), (283, 1453))
                self.actualMap.addDecoration(self.load_image("tree0", alpha=True), (913, 1363))
                self.actualMap.addDecoration(self.load_image("tree0", alpha=True), (-1397, 943))
                self.actualMap.addDecoration(self.load_image("tree0", alpha=True), (-1067, -167))
                self.actualMap.addDecoration(self.load_image("tree1", alpha=True), (-1037, 1363))
                self.actualMap.addDecoration(self.load_image("tree1", alpha=True), (-1577, 343))
                # Se agregan los caminos
                self.actualMap.addTrack(self.load_image("goal_w", alpha=True, rotate=180), (100, 200))
                self.actualMap.addTrack(self.load_image("c1_1", alpha=True), (500, 200))
                self.actualMap.addTrack(self.load_image("c2_1", alpha=True), (500, -200))
                self.actualMap.addTrack(self.load_image("c4_4", alpha=True), (100, -300))
                self.actualMap.addTrack(self.load_image("c3_2", alpha=True), (-100, -1000))
                self.actualMap.addTrack(self.load_image("rect_w_1", alpha=True), (200, -1185))
                self.actualMap.addTrack(self.load_image("rect_w_2", alpha=True), (500, -1185))
                self.actualMap.addTrack(self.load_image("c2_3", alpha=True), (1100, -900))
                self.actualMap.addTrack(self.load_image("rect_h_4", alpha=True), (1100, -600))
                self.actualMap.addTrack(self.load_image("rect_h", alpha=True), (1100, -300))
                self.actualMap.addTrack(self.load_image("rect_h", alpha=True), (1100, 0))
                self.actualMap.addTrack(self.load_image("rect_h", alpha=True), (1100, 300))
                self.actualMap.addTrack(self.load_image("rect_h_1", alpha=True), (1100, 600))
                self.actualMap.addTrack(self.load_image("c1_1", alpha=True), (1100, 1000))
                self.actualMap.addTrack(self.load_image("rect_w_3", alpha=True), (700, 1000))
                self.actualMap.addTrack(self.load_image("rect_w", alpha=True), (400, 1000))
                self.actualMap.addTrack(self.load_image("rect_w", alpha=True), (200, 1000))
                self.actualMap.addTrack(self.load_image("rect_w", alpha=True), (-100, 1000))
                self.actualMap.addTrack(self.load_image("rect_w_4", alpha=True), (-400, 1000))
                self.actualMap.addTrack(self.load_image("c4_2", alpha=True), (-700, 1000))
                self.actualMap.addTrack(self.load_image("c3_3", alpha=True), (-600, 500))
                self.actualMap.addTrack(self.load_image("rect_w_1", alpha=True), (-300, 215))
                self.actualMap.addTrack(self.load_image("rect_w", alpha=True), (-100, 200))
                # Se define la posición inicial del jugador
                self.actualMap.player.set_default_pos((400, 350))
            except:
                print self.langs.get(53, self.langs.get(57, self.actualMap.getTrackTitle()))
                self.clear_actual_map()
        # Pista 2 - Adelaide raceway
        elif index == 2:
            try:
                # Se definen los límites del mapas
                self.actualMap.setMapLimits(-3500, -2700, 5000, 1400)
                # Se definen las vueltas máximas
                self.actualMap.setLaps(3)
                # Se definen los objetivos del mapa
                self.actualMap.setObjetives([(28.8, 30.5, 32.9), (23.5, 25.0, 27.9), (21.3, 23.0, 24.5)])
                # Se define el fondo del mundo
                self.actualMap.setBackground(self.load_image("sand3", alpha=False))
                # Se agrega al jugador
                self.actualMap.addCar(
                    int(self.userConfig.getValue("TYPECAR")),
                    self.userConfig.getValue("TEXTURE"),
                    True,
                    180,
                    True,
                    self.actualMap.getTrackLogic(),
                    self.sounds,
                    self.soundsChannel,
                    self.checksum,
                    self.scoreConfig,
                    self.playerName,
                    self.actualMap.getTrackTitle(),
                    self.gameConfig,
                    self.browser,
                    rotate=-270,
                    verbose=self.verbose,
                )
                # Se agregan decoraciones
                self.actualMap.addDecoration(self.load_image("tree3", alpha=True), (1400, 1000))
                self.actualMap.addDecoration(self.load_image("tree3", alpha=True), (-2200, 1000))
                self.actualMap.addDecoration(self.load_image("tree5", alpha=True), (-3000, 500))
                self.actualMap.addDecoration(self.load_image("tree3", alpha=True), (0, -150))
                self.actualMap.addDecoration(self.load_image("tree5", alpha=True), (-2000, -140))
                self.actualMap.addDecoration(self.load_image("tree3", alpha=True), (1600, 100))
                self.actualMap.addDecoration(self.load_image("tree3", alpha=True), (600, 500))
                self.actualMap.addDecoration(self.load_image("tree3", alpha=True), (-1500, 480))
                self.actualMap.addDecoration(self.load_image("tree3", alpha=True), (-3000, 1200))
                self.actualMap.addDecoration(self.load_image("tree3", alpha=True), (-1600, 2000))
                self.actualMap.addDecoration(self.load_image("tree3", alpha=True), (-350, 950))
                self.actualMap.addDecoration(self.load_image("tree3", alpha=True), (1000, 1600))
                self.actualMap.addDecoration(self.load_image("tree3", alpha=True), (2600, 1000))
                self.actualMap.addDecoration(self.load_image("tree5", alpha=True), (1693, 1573))
                self.actualMap.addDecoration(self.load_image("tree3", alpha=True), (-767, -227))
                self.actualMap.addDecoration(self.load_image("tree3", alpha=True), (-1667, -257))
                self.actualMap.addDecoration(self.load_image("tree3", alpha=True), (-3227, 643))
                self.actualMap.addDecoration(self.load_image("tree3", alpha=True), (-2627, 1993))
                self.actualMap.addDecoration(self.load_image("tree3", alpha=True), (2203, 403))
                self.actualMap.addDecoration(self.load_image("tree3", alpha=True), (-737, 1303))
                self.actualMap.addDecoration(self.load_image("tree3", alpha=True), (-1007, 583))
                self.actualMap.addDecoration(self.load_image("tree3", alpha=True), (523, 913))
                self.actualMap.addDecoration(self.load_image("tree3", alpha=True), (223, 1573))
                self.actualMap.addDecoration(self.load_image("tree5", alpha=True), (-2687, -47))
                self.actualMap.addDecoration(self.load_image("tree5", alpha=True), (2323, 1393))
                self.actualMap.addDecoration(self.load_image("tree5", alpha=True), (-1367, 1363))
                self.actualMap.addDecoration(self.load_image("tree5", alpha=True), (163, 433))
                # Se agregan los caminos
                self.actualMap.addTrack(self.load_image("goal_w", alpha=True, rotate=0), (100, 200))
                self.actualMap.addTrack(self.load_image("rect_w", alpha=True), (-200, 200))
                self.actualMap.addTrack(self.load_image("rect_w", alpha=True), (-500, 200))
                self.actualMap.addTrack(self.load_image("rect_w", alpha=True), (-800, 200))
                self.actualMap.addTrack(self.load_image("rect_w", alpha=True), (-1100, 200))
                self.actualMap.addTrack(self.load_image("rect_w", alpha=True), (-1300, 200))
                self.actualMap.addTrack(self.load_image("rect_w", alpha=True), (-1600, 200))
                self.actualMap.addTrack(self.load_image("rect_w_1", alpha=True), (-1900, 215))
                self.actualMap.addTrack(self.load_image("c3_4", alpha=True), (-2200, 600))
                self.actualMap.addTrack(self.load_image("rect_h_3", alpha=True), (-2585, 900))
                self.actualMap.addTrack(self.load_image("rect_h_2", alpha=True), (-2585, 1200))
                self.actualMap.addTrack(self.load_image("c4_4", alpha=True), (-2200, 1900))
                self.actualMap.addTrack(self.load_image("c1_1", alpha=True), (-1800, 1900))
                self.actualMap.addTrack(self.load_image("rect_h_1", alpha=True), (-1800, 1500))
                self.actualMap.addTrack(self.load_image("c3_2", alpha=True), (-1600, 1200))
                self.actualMap.addTrack(self.load_image("rect_w_1", alpha=True), (-1300, 1015))
                self.actualMap.addTrack(self.load_image("rect_w_3", alpha=True), (-1000, 1000))
                self.actualMap.addTrack(self.load_image("c1_1", alpha=True), (-600, 1000))
                self.actualMap.addTrack(self.load_image("c3_1", alpha=True), (-500, 600))
                self.actualMap.addTrack(self.load_image("c2_2", alpha=True), (0, 700))
                self.actualMap.addTrack(self.load_image("c4_3", alpha=True), (300, 1300))
                self.actualMap.addTrack(self.load_image("rect_w_4", alpha=True), (600, 1300))
                self.actualMap.addTrack(self.load_image("rect_w", alpha=True), (900, 1300))
                self.actualMap.addTrack(self.load_image("rect_w", alpha=True), (1200, 1300))
                self.actualMap.addTrack(self.load_image("rect_w", alpha=True), (1500, 1300))
                self.actualMap.addTrack(self.load_image("rect_w", alpha=True), (1800, 1300))
                self.actualMap.addTrack(self.load_image("c1_1", alpha=True), (2200, 1300))
                self.actualMap.addTrack(self.load_image("c2_1", alpha=True), (2200, 900))
                self.actualMap.addTrack(self.load_image("rect_w_2", alpha=True), (1800, 815))
                self.actualMap.addTrack(self.load_image("c4_1", alpha=True), (1500, 800))
                self.actualMap.addTrack(self.load_image("c2_2", alpha=True), (1400, 400))
                self.actualMap.addTrack(self.load_image("rect_w_2", alpha=True), (900, 215))
                self.actualMap.addTrack(self.load_image("rect_w", alpha=True), (600, 200))
                self.actualMap.addTrack(self.load_image("rect_w", alpha=True), (300, 200))
                # Se define la posición inicial del jugador
                self.actualMap.player.set_default_pos((490, 350))
            except:
                print self.langs.get(53, self.langs.get(57, self.actualMap.getTrackTitle()))
                self.clear_actual_map()
        # Pista 3 - Riverside intl
        elif index == 3:
            try:
                # Se definen los límites del mapas
                self.actualMap.setMapLimits(-3500, -2700, 5300, 2000)
                # Se definen las vueltas máximas
                self.actualMap.setLaps(3)
                # Se definen los objetivos del mapa
                self.actualMap.setObjetives([(37.2, 38.6, 40.0), (33.2, 35.6, 38.9), (31.4, 32.9, 34.6)])
                # Se define el fondo del mundo
                self.actualMap.setBackground(self.load_image("grass5", alpha=False))
                # Se agrega al jugador
                self.actualMap.addCar(
                    int(self.userConfig.getValue("TYPECAR")),
                    self.userConfig.getValue("TEXTURE"),
                    True,
                    180,
                    True,
                    self.actualMap.getTrackLogic(),
                    self.sounds,
                    self.soundsChannel,
                    self.checksum,
                    self.scoreConfig,
                    self.playerName,
                    self.actualMap.getTrackTitle(),
                    self.gameConfig,
                    self.browser,
                    rotate=-270,
                    verbose=self.verbose,
                )
                # Se agregan decoraciones
                self.actualMap.addDecoration(self.load_image("tree0", alpha=True), (0, -300))
                self.actualMap.addDecoration(self.load_image("tree0", alpha=True), (-1500, -300))
                self.actualMap.addDecoration(self.load_image("tree1", alpha=True), (-300, 300))
                self.actualMap.addDecoration(self.load_image("tree1", alpha=True), (1300, -320))
                self.actualMap.addDecoration(self.load_image("tree0", alpha=True), (-2800, -200))
                self.actualMap.addDecoration(self.load_image("tree1", alpha=True), (-2340, -700))
                self.actualMap.addDecoration(self.load_image("tree0", alpha=True), (-3300, -700))
                self.actualMap.addDecoration(self.load_image("tree1", alpha=True), (-3200, 470))
                self.actualMap.addDecoration(self.load_image("tree0", alpha=True), (-1200, -1163))
                self.actualMap.addDecoration(self.load_image("tree1", alpha=True), (-3270, 1100))
                self.actualMap.addDecoration(self.load_image("tree1", alpha=True), (-3000, 1883))
                self.actualMap.addDecoration(self.load_image("tree0", alpha=True), (-1950, 2000))
                self.actualMap.addDecoration(self.load_image("tree0", alpha=True), (-690, 1850))
                self.actualMap.addDecoration(self.load_image("tree1", alpha=True), (180, 1490))
                self.actualMap.addDecoration(self.load_image("tree1", alpha=True), (1050, 1883))
                self.actualMap.addDecoration(self.load_image("tree0", alpha=True), (1560, 1520))
                self.actualMap.addDecoration(self.load_image("tree0", alpha=True), (2670, 1343))
                self.actualMap.addDecoration(self.load_image("tree0", alpha=True), (-1080, 683))
                self.actualMap.addDecoration(self.load_image("tree0", alpha=True), (-2220, 1193))
                self.actualMap.addDecoration(self.load_image("tree0", alpha=True), (570, 893))
                self.actualMap.addDecoration(self.load_image("tree1", alpha=True), (-300, 833))
                self.actualMap.addDecoration(self.load_image("tree1", alpha=True), (2700, -127))
                self.actualMap.addDecoration(self.load_image("tree1", alpha=True), (2900, 653))
                self.actualMap.addDecoration(self.load_image("tree0", alpha=True), (-1230, 1193))
                self.actualMap.addDecoration(self.load_image("tree0", alpha=True), (1560, 773))
                self.actualMap.addDecoration(self.load_image("tree0", alpha=True), (2130, 533))
                self.actualMap.addDecoration(self.load_image("tree0", alpha=True), (1110, 233))
                self.actualMap.addDecoration(self.load_image("tree1", alpha=True), (-1200, 233))
                self.actualMap.addDecoration(self.load_image("tree1", alpha=True), (-2850, 683))
                self.actualMap.addDecoration(self.load_image("tree1", alpha=True), (480, 2213))
                self.actualMap.addDecoration(self.load_image("tree1", alpha=True), (1620, 383))
                self.actualMap.addDecoration(self.load_image("tree1", alpha=True), (-3660, -517))
                # Se agregan los caminos
                self.actualMap.addTrack(self.load_image("goal_w", alpha=True), (0, 0))
                self.actualMap.addTrack(self.load_image("rect_w", alpha=True), (-300, 0))
                self.actualMap.addTrack(self.load_image("rect_w", alpha=True), (-600, 0))
                self.actualMap.addTrack(self.load_image("rect_w", alpha=True), (-900, 0))
                self.actualMap.addTrack(self.load_image("rect_w", alpha=True), (-1200, 0))
                self.actualMap.addTrack(self.load_image("rect_w", alpha=True), (-1500, 0))
                self.actualMap.addTrack(self.load_image("rect_w", alpha=True), (-1800, 0))
                self.actualMap.addTrack(self.load_image("rect_w_4", alpha=True), (-2100, 0))
                self.actualMap.addTrack(self.load_image("c4_1", alpha=True), (-2400, 0))
                self.actualMap.addTrack(self.load_image("c2_1", alpha=True), (-2500, -400))
                self.actualMap.addTrack(self.load_image("c3_2", alpha=True), (-2900, -300))
                self.actualMap.addTrack(self.load_image("c4_4", alpha=True), (-2700, 400))
                self.actualMap.addTrack(self.load_image("rect_w_4", alpha=True), (-2400, 400))
                self.actualMap.addTrack(self.load_image("rect_w", alpha=True), (-2100, 400))
                self.actualMap.addTrack(self.load_image("rect_w_2", alpha=True), (-1800, 415))
                self.actualMap.addTrack(self.load_image("c2_1", alpha=True), (-1400, 500))
                self.actualMap.addTrack(self.load_image("c1_1", alpha=True), (-1400, 900))
                self.actualMap.addTrack(self.load_image("rect_w_3", alpha=True), (-1800, 900))
                self.actualMap.addTrack(self.load_image("rect_w_1", alpha=True), (-2100, 915))
                self.actualMap.addTrack(self.load_image("c3_4", alpha=True), (-2400, 1300))
                self.actualMap.addTrack(self.load_image("c4_1", alpha=True), (-2700, 1700))
                self.actualMap.addTrack(self.load_image("rect_w_4", alpha=True), (-2400, 1700))
                self.actualMap.addTrack(self.load_image("rect_w", alpha=True), (-2100, 1700))
                self.actualMap.addTrack(self.load_image("rect_w", alpha=True), (-1800, 1700))
                self.actualMap.addTrack(self.load_image("rect_w", alpha=True), (-1500, 1700))
                self.actualMap.addTrack(self.load_image("rect_w_3", alpha=True), (-1200, 1700))
                self.actualMap.addTrack(self.load_image("c1_1", alpha=True), (-800, 1700))
                self.actualMap.addTrack(self.load_image("c3_1", alpha=True), (-700, 1300))
                self.actualMap.addTrack(self.load_image("c2_1", alpha=True), (-300, 1300))
                self.actualMap.addTrack(self.load_image("c4_4", alpha=True), (100, 2000))
                self.actualMap.addTrack(self.load_image("c1_4", alpha=True), (800, 2000))
                self.actualMap.addTrack(self.load_image("c3_1", alpha=True), (900, 1300))
                self.actualMap.addTrack(self.load_image("rect_w_1", alpha=True), (1200, 1215))
                self.actualMap.addTrack(self.load_image("rect_w", alpha=True), (1500, 1200))
                self.actualMap.addTrack(self.load_image("rect_w", alpha=True), (1800, 1200))
                self.actualMap.addTrack(self.load_image("rect_w_3", alpha=True), (2100, 1200))
                self.actualMap.addTrack(self.load_image("c1_2", alpha=True), (2600, 1200))
                self.actualMap.addTrack(self.load_image("rect_h", alpha=True), (2600, 700))
                self.actualMap.addTrack(self.load_image("c2_4", alpha=True), (2600, 400))
                self.actualMap.addTrack(self.load_image("rect_w_2", alpha=True), (1900, 15))
                self.actualMap.addTrack(self.load_image("rect_w", alpha=True), (1600, 0))
                self.actualMap.addTrack(self.load_image("rect_w", alpha=True), (1300, 0))
                self.actualMap.addTrack(self.load_image("rect_w", alpha=True), (1000, 0))
                self.actualMap.addTrack(self.load_image("rect_w", alpha=True), (700, 0))
                self.actualMap.addTrack(self.load_image("rect_w", alpha=True), (500, 0))
                self.actualMap.addTrack(self.load_image("rect_w", alpha=True), (300, 0))
                # Se define la posición inicial del jugador
                self.actualMap.player.set_default_pos((387, 150))
            except:
                print self.langs.get(53, self.langs.get(57, self.actualMap.getTrackTitle()))
                self.clear_actual_map()
        # Santiago intl
        elif index == 4:
            try:
                # Se definen los límites del mapas
                self.actualMap.setMapLimits(-4400, -3500, 5500, 2500)
                # Se definen las vueltas máximas
                self.actualMap.setLaps(3)
                # Se definen los objetivos del mapa
                self.actualMap.setObjetives([(49.3, 51.0, 53.0), (50.0, 53.5, 58.6), (49.0, 50.5, 52.0)])
                # Se define el fondo del mundo
                self.actualMap.setBackground(self.load_image("grass", alpha=False))
                # Se agrega al jugador
                self.actualMap.addCar(
                    int(self.userConfig.getValue("TYPECAR")),
                    self.userConfig.getValue("TEXTURE"),
                    True,
                    270,
                    True,
                    self.actualMap.getTrackLogic(),
                    self.sounds,
                    self.soundsChannel,
                    self.checksum,
                    self.scoreConfig,
                    self.playerName,
                    self.actualMap.getTrackTitle(),
                    self.gameConfig,
                    self.browser,
                    rotate=-270,
                    verbose=self.verbose,
                )
                # Se agregan decoraciones
                self.actualMap.addDecoration(self.load_image("tree0", alpha=True), (-457, 433))
                self.actualMap.addDecoration(self.load_image("tree1", alpha=True), (-1147, 493))
                self.actualMap.addDecoration(self.load_image("tree0", alpha=True), (-997, -317))
                self.actualMap.addDecoration(self.load_image("tree0", alpha=True), (-1297, -407))
                self.actualMap.addDecoration(self.load_image("tree1", alpha=True), (-2977, 643))
                self.actualMap.addDecoration(self.load_image("tree0", alpha=True), (-1717, -1067))
                self.actualMap.addDecoration(self.load_image("tree0", alpha=True), (-427, -1187))
                self.actualMap.addDecoration(self.load_image("tree0", alpha=True), (503, -917))
                self.actualMap.addDecoration(self.load_image("tree1", alpha=True), (2603, -317))
                self.actualMap.addDecoration(self.load_image("tree0", alpha=True), (713, 793))
                self.actualMap.addDecoration(self.load_image("tree0", alpha=True), (1253, 1213))
                self.actualMap.addDecoration(self.load_image("tree1", alpha=True), (2003, 2083))
                self.actualMap.addDecoration(self.load_image("tree0", alpha=True), (2123, 1123))
                self.actualMap.addDecoration(self.load_image("tree0", alpha=True), (1853, 493))
                self.actualMap.addDecoration(self.load_image("tree1", alpha=True), (-637, 703))
                self.actualMap.addDecoration(self.load_image("tree0", alpha=True), (-1987, 463))
                self.actualMap.addDecoration(self.load_image("tree0", alpha=True), (-2647, 553))
                self.actualMap.addDecoration(self.load_image("tree0", alpha=True), (-2257, 1153))
                self.actualMap.addDecoration(self.load_image("tree1", alpha=True), (-2257, 1843))
                self.actualMap.addDecoration(self.load_image("tree0", alpha=True), (-1987, 2083))
                self.actualMap.addDecoration(self.load_image("tree0", alpha=True), (-2677, 2683))
                self.actualMap.addDecoration(self.load_image("tree1", alpha=True), (-1537, 2713))
                self.actualMap.addDecoration(self.load_image("tree0", alpha=True), (-1117, 1993))
                self.actualMap.addDecoration(self.load_image("tree0", alpha=True), (-337, 1423))
                self.actualMap.addDecoration(self.load_image("tree0", alpha=True), (293, 313))
                self.actualMap.addDecoration(self.load_image("tree1", alpha=True), (1253, -347))
                self.actualMap.addDecoration(self.load_image("tree0", alpha=True), (2003, -467))
                self.actualMap.addDecoration(self.load_image("tree0", alpha=True), (3233, 253))
                self.actualMap.addDecoration(self.load_image("tree0", alpha=True), (3593, -467))
                self.actualMap.addDecoration(self.load_image("tree1", alpha=True), (3083, -1187))
                self.actualMap.addDecoration(self.load_image("tree1", alpha=True), (-1207, 1153))
                self.actualMap.addDecoration(self.load_image("tree0", alpha=True), (-1987, 583))
                self.actualMap.addDecoration(self.load_image("tree1", alpha=True), (-1327, -167))
                self.actualMap.addDecoration(self.load_image("tree1", alpha=True), (-2077, -300))
                self.actualMap.addDecoration(self.load_image("tree1", alpha=True), (-2677, 853))
                self.actualMap.addDecoration(self.load_image("tree0", alpha=True), (-3037, 1513))
                self.actualMap.addDecoration(self.load_image("tree0", alpha=True), (-3667, 1153))
                self.actualMap.addDecoration(self.load_image("tree0", alpha=True), (-3847, 583))
                self.actualMap.addDecoration(self.load_image("tree0", alpha=True), (1643, -1067))
                self.actualMap.addDecoration(self.load_image("tree0", alpha=True), (683, -857))
                self.actualMap.addDecoration(self.load_image("tree0", alpha=True), (-2437, -197))
                self.actualMap.addDecoration(self.load_image("tree0", alpha=True), (-3097, 2173))
                self.actualMap.addDecoration(self.load_image("tree0", alpha=True), (-1867, 1423))
                self.actualMap.addDecoration(self.load_image("tree0", alpha=True), (323, 1603))
                self.actualMap.addDecoration(self.load_image("tree1", alpha=True), (803, 2353))
                self.actualMap.addDecoration(self.load_image("tree0", alpha=True), (2153, 1513))
                self.actualMap.addDecoration(self.load_image("tree0", alpha=True), (773, 283))
                self.actualMap.addDecoration(self.load_image("tree0", alpha=True), (1703, -287))
                self.actualMap.addDecoration(self.load_image("tree1", alpha=True), (2903, 493))
                self.actualMap.addDecoration(self.load_image("tree1", alpha=True), (-157, -1397))
                self.actualMap.addDecoration(self.load_image("tree1", alpha=True), (-787, -1127))
                self.actualMap.addDecoration(self.load_image("tree0", alpha=True), (-3607, 73))
                self.actualMap.addDecoration(self.load_image("tree1", alpha=True), (443, 493))
                self.actualMap.addDecoration(self.load_image("tree1", alpha=True), (-37, 1573))
                self.actualMap.addDecoration(self.load_image("tree0", alpha=True), (1673, 2563))
                self.actualMap.addDecoration(self.load_image("tree1", alpha=True), (983, 973))
                self.actualMap.addDecoration(self.load_image("tree1", alpha=True), (3383, -257))
                self.actualMap.addDecoration(self.load_image("tree1", alpha=True), (-247, -1067))
                # Se agregan los caminos
                self.actualMap.addTrack(self.load_image("goal_h", alpha=True), (0, 0))
                self.actualMap.addTrack(self.load_image("rect_h", alpha=True), (0, 300))
                self.actualMap.addTrack(self.load_image("rect_h", alpha=True), (0, 600))
                self.actualMap.addTrack(self.load_image("c4_4", alpha=True), (400, 1300))
                self.actualMap.addTrack(self.load_image("c2_4", alpha=True), (1100, 1700))
                self.actualMap.addTrack(self.load_image("c4_2", alpha=True), (1300, 2200))
                self.actualMap.addTrack(self.load_image("c1_1", alpha=True), (1700, 2200))
                self.actualMap.addTrack(self.load_image("rect_h_1", alpha=True), (1700, 1800))
                self.actualMap.addTrack(self.load_image("rect_h", alpha=True), (1700, 1500))
                self.actualMap.addTrack(self.load_image("rect_h_4", alpha=True), (1700, 1200))
                self.actualMap.addTrack(self.load_image("c2_1", alpha=True), (1700, 900))
                self.actualMap.addTrack(self.load_image("c4_1", alpha=True), (1300, 800))
                self.actualMap.addTrack(self.load_image("c3_3", alpha=True), (1500, 400))
                self.actualMap.addTrack(self.load_image("rect_w_1", alpha=True), (1800, 115))
                self.actualMap.addTrack(self.load_image("rect_w", alpha=True), (2100, 100))
                self.actualMap.addTrack(self.load_image("rect_w", alpha=True), (2400, 100))
                self.actualMap.addTrack(self.load_image("rect_w_3", alpha=True), (2700, 100))
                self.actualMap.addTrack(self.load_image("c1_1", alpha=True), (3100, 100))
                self.actualMap.addTrack(self.load_image("rect_h", alpha=True), (3100, -300))
                self.actualMap.addTrack(self.load_image("c2_1", alpha=True), (3100, -600))
                self.actualMap.addTrack(self.load_image("rect_w_2", alpha=True), (2700, -685))
                self.actualMap.addTrack(self.load_image("rect_w", alpha=True), (2400, -700))
                self.actualMap.addTrack(self.load_image("rect_w", alpha=True), (2100, -700))
                self.actualMap.addTrack(self.load_image("rect_w", alpha=True), (1800, -700))
                self.actualMap.addTrack(self.load_image("rect_w_1", alpha=True), (1500, -685))
                self.actualMap.addTrack(self.load_image("c3_3", alpha=True), (1200, -400))
                self.actualMap.addTrack(self.load_image("c1_1", alpha=True), (900, 0))
                self.actualMap.addTrack(self.load_image("c4_1", alpha=True), (500, 0))
                self.actualMap.addTrack(self.load_image("c2_3", alpha=True), (400, -400))
                self.actualMap.addTrack(self.load_image("rect_w_2", alpha=True), (-200, -685))
                self.actualMap.addTrack(self.load_image("rect_w", alpha=True), (-500, -700))
                self.actualMap.addTrack(self.load_image("rect_w", alpha=True), (-800, -700))
                self.actualMap.addTrack(self.load_image("rect_w_1", alpha=True), (-1100, -685))
                self.actualMap.addTrack(self.load_image("c3_3", alpha=True), (-1400, -400))
                self.actualMap.addTrack(self.load_image("c1_3", alpha=True), (-1700, 200))
                self.actualMap.addTrack(self.load_image("rect_w_3", alpha=True), (-2300, 200))
                self.actualMap.addTrack(self.load_image("rect_w_1", alpha=True), (-2600, 215))
                self.actualMap.addTrack(self.load_image("c3_4", alpha=True), (-2900, 600))
                self.actualMap.addTrack(self.load_image("c4_3", alpha=True), (-3000, 1200))
                self.actualMap.addTrack(self.load_image("c2_2", alpha=True), (-2500, 1400))
                self.actualMap.addTrack(self.load_image("rect_h_4", alpha=True), (-2500, 1700))
                self.actualMap.addTrack(self.load_image("rect_h_2", alpha=True), (-2485, 2000))
                self.actualMap.addTrack(self.load_image("c4_3", alpha=True), (-2200, 2600))
                self.actualMap.addTrack(self.load_image("c1_3", alpha=True), (-1600, 2600))
                self.actualMap.addTrack(self.load_image("c3_4", alpha=True), (-1200, 2000))
                self.actualMap.addTrack(self.load_image("c1_2", alpha=True), (-700, 1600))
                self.actualMap.addTrack(self.load_image("c2_2", alpha=True), (-700, 1100))
                self.actualMap.addTrack(self.load_image("c4_3", alpha=True), (-1200, 900))
                self.actualMap.addTrack(self.load_image("c3_1", alpha=True), (-1400, 300))
                self.actualMap.addTrack(self.load_image("rect_w", alpha=True), (-1100, 200))
                self.actualMap.addTrack(self.load_image("rect_w", alpha=True), (-900, 200))
                self.actualMap.addTrack(self.load_image("c1_2", alpha=True), (-500, 200))
                self.actualMap.addTrack(self.load_image("c3_1", alpha=True), (-400, -300))
                self.actualMap.addTrack(self.load_image("c2_1", alpha=True), (0, -300))
                # Se define la posición inicial del jugador
                self.actualMap.player.set_default_pos((350, 110))
            except:
                print self.langs.get(53, self.langs.get(57, self.actualMap.getTrackTitle()))
                self.clear_actual_map()