Example #1
0
class EstadoSom(Estado):
    def __init__(self):
        super().__init__()
        self.__texto_som = Texto("Som", "Materials/Early GameBoy.ttf", 50, self.BLACK, [130, 40])
        
        self.__texto_musica = Texto("Volume música:", "Materials/Retro Gaming.ttf", 25, self.WHITE, [20, 150])
        self.__texto_efeitos = Texto("Volume efeitos:", "Materials/Retro Gaming.ttf", 25, self.WHITE, [20, 300])
        
        self.__slider_musica = Slider(self.tela.display, 20, 230, 300, 20, min=0, max=1, step=0.1, handleColour=self.GREEN)
        self.__slider_musica.setValue(self.som_controller.volume_atual_music)
        self.__slider_sons = Slider(self.tela.display, 20, 380, 300, 20, min=0, max=1, step=0.1, handleColour=self.GREEN)
        self.__slider_sons.setValue(self.som_controller.volume_atual_sound)
        self.__sliders = [self.__slider_musica, self.__slider_sons]
        self.__events_som = EventsSom(self.__sliders)

        self.__numero_musica = Texto("", "Materials/Retro Gaming.ttf", 25, self.WHITE, [335, 225])
        self.__numero_sons = Texto("", "Materials/Retro Gaming.ttf", 25, self.WHITE, [335, 375])
        
        self.__imagem_botao_voltar = pygame.image.load("Materials/voltar.png").convert_alpha(self.tela.display)
        self.__fundo_voltar = Fundo([20, 510, 70, 70], self.WHITE)
        self.__botao_voltar = BotaoImagem(self.__imagem_botao_voltar, (25, 515), self.__fundo_voltar, self.GREEN, self.DARK_GREEN, self.__events_som)
        
        self.__texto_vol_padrao = Texto("Volume Padrão", "Materials/Retro Gaming.ttf", 27, self.BLACK, [125, 525])
        self.__fundo_vol_padrao = Fundo([110, 510, 270, 70], self.WHITE)
        self.__botao_vol_padrao = Botao(self.__texto_vol_padrao, self.__fundo_vol_padrao, self.GREEN, self.DARK_GREEN, self.__events_som)


    def start(self):
        #Updates
        self.__events_som.check_events()
        self.som_controller.set_volume_music(self.__slider_musica.getValue())
        self.som_controller.set_volume_sounds(self.__slider_sons.getValue())
        voltar = self.__botao_voltar.update()
        padrao = self.__botao_vol_padrao.update()
        if padrao:
            self.som_controller.set_volume_padrao()
            self.__slider_musica.setValue(self.som_controller.volume_atual_music)
            self.__slider_sons.setValue(self.som_controller.volume_atual_sound)
        
        porcentagem_musica = self.__slider_musica.getValue() * 100
        porcentagem_sons = self.__slider_sons.getValue() * 100
        self.__numero_musica.texto = str(int(porcentagem_musica)) + "%"
        self.__numero_sons.texto = str(int(porcentagem_sons)) + "%"

        #Draws
        self.tela.fill(self.GREY)
        self.__texto_som.draw()
        self.__texto_musica.draw()
        self.__texto_efeitos.draw()
        self.__slider_musica.draw()
        self.__slider_sons.draw()
        self.__numero_musica.draw()
        self.__numero_sons.draw()
        self.__botao_voltar.draw()
        self.__botao_vol_padrao.draw()

        if voltar:
            return "inicial"
        else:
            return "som"
Example #2
0
    def __init__(self, texto="None", x=0, y=0, magnitud=17, autoeliminar=False, retraso=5):
        """Inicializa el texto.

        :param texto: Texto a mostrar.
        :param x: Posición horizontal.
        :param y: Posición vertical.
        :param magnitud: Tamaño del texto.
        :param vertical: Si el texto será vertical u horizontal, como True o False.
        """
        Texto.__init__(self, texto, x, y, magnitud)
        izquierda, derecha, arriba, abajo = pilas.utils.obtener_bordes()

        # Se asegura de que solo exista un texto inferior
        if TextoInferior.anterior_texto:
            TextoInferior.anterior_texto.eliminar()

        self.z = -100
        TextoInferior.anterior_texto = self
        self._crear_sombra()

        self.centro = ("centro", "centro")
        self.izquierda = izquierda + 10
        self.color = pilas.colores.blanco
        self.abajo = abajo + 10
        self.fijo = True

        if autoeliminar:
            pilas.escena_actual().tareas.una_vez(retraso, self.eliminar)
Example #3
0
    def __init__(self,
                 texto="None",
                 x=0,
                 y=0,
                 magnitud=17,
                 autoeliminar=False,
                 retraso=5):
        Texto.__init__(self, texto, x, y, magnitud)
        izquierda, derecha, arriba, abajo = pilas.utils.obtener_bordes()

        # Se asegura de que solo exista un texto inferior
        if TextoInferior.anterior_texto:
            TextoInferior.anterior_texto.eliminar()

        self.z = -100
        TextoInferior.anterior_texto = self
        self._crear_sombra()

        self.centro = ("centro", "centro")
        self.izquierda = izquierda + 10
        self.color = pilas.colores.blanco
        self.abajo = abajo + 10
        self.fijo = True

        if autoeliminar:
            pilas.escena_actual().tareas.una_vez(retraso, self.eliminar)
Example #4
0
    def __init__(self,
                 texto="None",
                 x=0,
                 y=0,
                 magnitud=17,
                 autoeliminar=False,
                 retraso=5):
        """Inicializa el texto.

        :param texto: Texto a mostrar.
        :param x: Posición horizontal.
        :param y: Posición vertical.
        :param magnitud: Tamaño del texto.
        :param vertical: Si el texto será vertical u horizontal, como True o False.
        """
        Texto.__init__(self, texto, x, y, magnitud)
        izquierda, derecha, arriba, abajo = pilas.utils.obtener_bordes()

        # Se asegura de que solo exista un texto inferior
        if TextoInferior.anterior_texto:
            TextoInferior.anterior_texto.eliminar()

        self.z = -100
        TextoInferior.anterior_texto = self
        self._crear_sombra()

        self.centro = ("centro", "centro")
        self.izquierda = izquierda + 10
        self.color = pilas.colores.blanco
        self.abajo = abajo + 10
        self.fijo = True

        if autoeliminar:
            pilas.escena_actual().tareas.una_vez(retraso, self.eliminar)
class EstadoRegras(Estado):
    def __init__(self):
        super().__init__()
        self.__events_regras = EventsPadrao()
        self.__texto_regras = Texto("Regras", "Materials/Early GameBoy.ttf",
                                    50, self.BLACK, [60, 40])
        self.__imagem_botao_voltar = pygame.image.load(
            "Materials/voltar.png").convert_alpha(self.tela.display)
        self.__fundo_voltar = Fundo([20, 510, 70, 70], self.WHITE)
        self.__botao_voltar = BotaoImagem(self.__imagem_botao_voltar,
                                          (25, 515), self.__fundo_voltar,
                                          self.GREEN, self.DARK_GREEN,
                                          self.__events_regras)
        self.__fundo_texto_regras = Fundo([20, 140, 360, 350], self.DARK_GREY)
        self.__imagem_regras = pygame.image.load(
            "Materials/texto_regras.png").convert_alpha(self.tela.display)
        self.__rect_regras = (30, 150)

    def start(self):
        #Updates
        self.__events_regras.check_events()
        voltar = self.__botao_voltar.update()

        #Draws
        self.tela.fill(self.GREY)
        self.__texto_regras.draw()
        self.__fundo_texto_regras.blitme()
        self.tela.display.blit(self.__imagem_regras, self.__rect_regras)
        self.__botao_voltar.draw()

        if voltar:
            return "inicial"
        else:
            return "regras"
 def __init__(self):
     super().__init__()
     self.__events_developers = EventsPadrao()
     self.__texto_developers = Texto("Developers", "Materials/Early GameBoy.ttf", 38, self.BLACK, [15, 40])
     
     self.__fundo_texto_developers = Fundo([20, 140, 360, 350], self.DARK_GREY)
     self.__imagem_developers = pygame.image.load("Materials/texto_developers.png").convert_alpha(self.tela.display)
     self.__rect_developers = (30, 150)
     
     self.__imagem_botao_voltar = pygame.image.load("Materials/voltar.png").convert_alpha(self.tela.display)
     self.__fundo_voltar = Fundo([20, 510, 70, 70], self.WHITE)
     self.__botao_voltar = BotaoImagem(self.__imagem_botao_voltar, (25, 515), self.__fundo_voltar, self.GREEN, self.DARK_GREEN, self.__events_developers)
class EstadoPausa(Estado):
    def __init__(self, jogador, obstaculo_controller, efeito_controller):
        super().__init__(jogador, obstaculo_controller, efeito_controller)
        self.__events_pausa = EventsPausa()

        self.__texto_pausado = Texto("Pausado", "Materials/Early GameBoy.ttf",
                                     50, self.BLACK, [30, 70])

        self.__texto_continuar = Texto("Continuar",
                                       "Materials/Retro Gaming.ttf", 40,
                                       self.WHITE, [75, 210])
        self.__fundo_continuar = Fundo([20, 200, 360, 70], self.WHITE)
        self.__botao_continuar = Botao(self.__texto_continuar,
                                       self.__fundo_continuar, self.GREEN,
                                       self.DARK_GREEN, self.__events_pausa)

        self.__texto_menu = Texto("Menu", "Materials/Retro Gaming.ttf", 40,
                                  self.WHITE, [135, 310])
        self.__fundo_menu = Fundo([20, 300, 360, 70], self.WHITE)
        self.__botao_menu = Botao(self.__texto_menu, self.__fundo_menu,
                                  self.GREEN, self.DARK_GREEN,
                                  self.__events_pausa)

    def start(self):
        #Updates
        self.__events_pausa.check_events()
        continuar = self.__botao_continuar.update()
        menu = self.__botao_menu.update()

        #Draws
        self.tela.fill(self.GREY)
        self.__texto_pausado.draw()
        self.__botao_continuar.draw()
        self.__botao_menu.draw()

        if self.__events_pausa.pausa or continuar:
            #self.som_controller.unpause_music()
            return "jogando"
        elif menu:
            self.pontuacao.zerar()
            self.velocidade_controller.zerar()
            self.fases_controller.zerar()
            self.jogador.reset()
            self.obstaculo_controller.zerar()
            self.efeito_controller.zerar()
            '''
            self.som_controller.stop_music()
            self.som_controller.play_music(1)
            '''
            return "inicial"
        else:
            return "pausa"
Example #8
0
    def __init__(self, jogador):
        super().__init__(jogador)
        self.__events_inicial = EventsPadrao()

        self.__nome_jogo1 = Texto("co", "Materials/Mario-Kart-DS.ttf", 50,
                                  self.WHITE, [22, 100])
        self.__nome_jogo2 = Texto("RUN", "Materials/Mario-Kart-DS.ttf", 60,
                                  self.WHITE, [79, 85])
        self.__nome_jogo3 = Texto("avirus", "Materials/Mario-Kart-DS.ttf", 50,
                                  self.WHITE, [209, 100])

        self.__imagem_regras = pygame.image.load(
            "Materials/interrogacao.png").convert_alpha(self.tela.display)
        self.__fundo_regras = Fundo([340, 10, 50, 50], self.WHITE)
        self.__botao_regras = BotaoImagem(self.__imagem_regras, [345, 15],
                                          self.__fundo_regras, self.GREEN,
                                          self.DARK_GREEN,
                                          self.__events_inicial)

        self.__imagem_som = pygame.image.load(
            "Materials/som.png").convert_alpha(self.tela.display)
        self.__fundo_som = Fundo([280, 10, 50, 50], self.WHITE)
        self.__botao_som = BotaoImagem(self.__imagem_som, [285, 15],
                                       self.__fundo_som, self.GREEN,
                                       self.DARK_GREEN, self.__events_inicial)

        self.__imagem_devs = pygame.image.load(
            "Materials/devs.png").convert_alpha(self.tela.display)
        self.__fundo_devs = Fundo([220, 10, 50, 50], self.WHITE)
        self.__botao_devs = BotaoImagem(self.__imagem_devs, [225, 15],
                                        self.__fundo_devs, self.GREEN,
                                        self.DARK_GREEN, self.__events_inicial)

        self.__fundo_pontuacao = Fundo([20, 200, 360, 70], self.DARK_GREY)
        self.__texto_pontuacao = Texto(
            f"Recorde: {self.recordes_controller.primeiro()}",
            "Materials/Early GameBoy.ttf", 20, self.WHITE, [30, 220])

        self.__texto_recordes = Texto("Recordes", "Materials/Retro Gaming.ttf",
                                      40, self.WHITE, [80, 310])
        self.__fundo_recordes = Fundo([20, 300, 360, 70], self.WHITE)
        self.__botao_recordes = Botao(self.__texto_recordes,
                                      self.__fundo_recordes, self.GREEN,
                                      self.DARK_GREEN, self.__events_inicial)

        self.__texto_play = Texto("PLAY", "Materials/Retro Gaming.ttf", 60,
                                  self.WHITE, [110, 397])
        self.__fundo_play = Fundo([20, 400, 360, 70], self.WHITE)
        self.__botao_play = Botao(self.__texto_play, self.__fundo_play,
                                  self.GREEN, self.DARK_GREEN,
                                  self.__events_inicial)
    def __init__(self):
        self.__pontos = 0
        self.__tela = Tela()
        self.__WHITE = (255, 255, 255)
        self.__GREEN = (0, 100, 0)
        self.__texto = Texto("", "Materials/Early GameBoy.ttf", 25,
                             self.__WHITE, [370, 10])

        self.__timer = 0
        self.__timerMax = 30
        self.__timerAtual = self.__timerMax
        self.__velocidade_controller = VelocidadeController()
        self.__len_pontuacao = 1
        self.__fundo = Fundo([360, 10, 35, 30], self.__GREEN)

        self.__multiplicador = 1
        self.__multiplicador_ativo = False
        self.__timer_multiplicador = 0
        self.__timer_multiplicador_max = 300
Example #10
0
    def __init__(self, texto="None", x=0, y=0, magnitud=17, autoeliminar=False, retraso=5):
        Texto.__init__(self, texto, x, y, magnitud)
        izquierda, derecha, arriba, abajo = pilas.utils.obtener_bordes()

        # Se asegura de que solo exista un texto inferior
        if TextoInferior.anterior_texto:
            TextoInferior.anterior_texto.eliminar()

        self.z = -100
        TextoInferior.anterior_texto = self
        self._crear_sombra()

        self.centro = ("centro", "centro")
        self.izquierda = izquierda + 10
        self.color = pilas.colores.blanco
        self.abajo = abajo + 10
        self.fijo = True

        if autoeliminar:
            pilas.escena_actual().tareas.una_vez(retraso, self.eliminar)
Example #11
0
    def __init__(self, jogador, obstaculo_controller, efeito_controller):
        super().__init__(jogador, obstaculo_controller, efeito_controller)
        self.__recorde_salvo = False

        self.__texto_derrota = Texto("Derrota", "Materials/Early GameBoy.ttf",
                                     50, self.BLACK, [30, 40])

        self.__fundo_pontuacao = Fundo([20, 140, 360, 70], self.DARK_GREY)
        self.__texto_pontuacao = Texto(f"Pontos: {self.pontuacao.pontos}",
                                       "Materials/Early GameBoy.ttf", 20,
                                       self.WHITE, [30, 160])

        self.__nome = TextBox(self.tela.display,
                              20,
                              250,
                              280,
                              70,
                              borderColour=(0, 0, 0),
                              textColour=(0, 0, 0),
                              radius=10,
                              borderThickness=5)
        self.__nome.font = pygame.font.Font("Materials/Retro Gaming.ttf", 30)
        self.__texto_recorde = Texto("Insira seu nome e clique em salvar.",
                                     "Materials/Retro Gaming.ttf", 12,
                                     self.BLACK, [25, 325])

        self.__events_derrota = EventsDerrota(self.__nome)

        self.__imagem_botao_salvar = pygame.image.load(
            "Materials/disquete.png").convert_alpha(self.tela.display)
        self.__fundo_salvar = Fundo([310, 250, 70, 70], self.WHITE)
        self.__botao_salvar = BotaoImagem(self.__imagem_botao_salvar,
                                          (315, 255), self.__fundo_salvar,
                                          self.GREEN, self.DARK_GREEN,
                                          self.__events_derrota)

        self.__texto_jogar_novamente = Texto("Jogar novamente",
                                             "Materials/Retro Gaming.ttf", 30,
                                             self.WHITE, [40, 395])
        self.__fundo_jogar_novamente = Fundo([20, 380, 360, 70], self.WHITE)
        self.__botao_jogar_novamente = Botao(self.__texto_jogar_novamente,
                                             self.__fundo_jogar_novamente,
                                             self.GREEN, self.DARK_GREEN,
                                             self.__events_derrota)

        self.__texto_menu = Texto("Menu", "Materials/Retro Gaming.ttf", 40,
                                  self.WHITE, [135, 490])
        self.__fundo_menu = Fundo([20, 480, 360, 70], self.WHITE)
        self.__botao_menu = Botao(self.__texto_menu, self.__fundo_menu,
                                  self.GREEN, self.DARK_GREEN,
                                  self.__events_derrota)
Example #12
0
    def __init__(self, jogador, obstaculo_controller, efeito_controller):
        super().__init__(jogador, obstaculo_controller, efeito_controller)
        self.__events_pausa = EventsPausa()

        self.__texto_pausado = Texto("Pausado", "Materials/Early GameBoy.ttf",
                                     50, self.BLACK, [30, 70])

        self.__texto_continuar = Texto("Continuar",
                                       "Materials/Retro Gaming.ttf", 40,
                                       self.WHITE, [75, 210])
        self.__fundo_continuar = Fundo([20, 200, 360, 70], self.WHITE)
        self.__botao_continuar = Botao(self.__texto_continuar,
                                       self.__fundo_continuar, self.GREEN,
                                       self.DARK_GREEN, self.__events_pausa)

        self.__texto_menu = Texto("Menu", "Materials/Retro Gaming.ttf", 40,
                                  self.WHITE, [135, 310])
        self.__fundo_menu = Fundo([20, 300, 360, 70], self.WHITE)
        self.__botao_menu = Botao(self.__texto_menu, self.__fundo_menu,
                                  self.GREEN, self.DARK_GREEN,
                                  self.__events_pausa)
Example #13
0
 def __init__(self):
     super().__init__()
     self.__events_recorde = EventsPadrao()
     self.__texto_recordes = Texto("Recordes", "Materials/Early GameBoy.ttf", 50, self.BLACK, [5, 40])
     self.__fundo_texto_recorde = Fundo([20, 140, 360, 350], self.DARK_GREY)
     self.__imagem_botao_voltar = pygame.image.load("Materials/voltar.png").convert_alpha(self.tela.display)
     self.__fundo_voltar = Fundo([20, 510, 70, 70], self.WHITE)
     self.__botao_voltar = BotaoImagem(self.__imagem_botao_voltar, (25, 515), self.__fundo_voltar, self.GREEN, self.DARK_GREEN, self.__events_recorde)
     self.__imagem_botao_limpar = pygame.image.load("Materials/lixeira.png").convert_alpha(self.tela.display)
     self.__fundo_limpar = Fundo([310, 510, 70, 70], self.WHITE)
     self.__botao_limpar = BotaoImagem(self.__imagem_botao_limpar, (315, 515), self.__fundo_limpar, self.GREEN, self.DARK_GREEN, self.__events_recorde)
     self.__cabecalho_nomes = "Nomes:"
     self.__texto_lista_nomes = [Texto(self.__cabecalho_nomes, "Materials/Retro Gaming.ttf", 18, self.WHITE, [40, 150])]
     self.__cabecalho_pontos = "Pontos:"
     self.__texto_lista_pontos = [Texto(self.__cabecalho_pontos, "Materials/Retro Gaming.ttf", 18, self.WHITE, [230, 150])]
     for i in range(15):
         cores = [self.YELLOW, self.SILVER, self.BRONZE, self.WHITE]
         cor = None
         if i == 0:
             cor = cores[0]
         elif i == 1:
             cor = cores[1]
         elif i == 2:
             cor = cores[2]
         else:
             cor = cores[3]
         self.__texto_lista_nomes.append(Texto(f"{i + 1} - ", "Materials/Retro Gaming.ttf", 15, cor, [40, 180 + 20 * i]))
         self.__texto_lista_pontos.append(Texto("", "Materials/Retro Gaming.ttf", 15, cor, [230, 180 + 20 * i]))
Example #14
0
class Window():
    
    def __init__(self):
        self.tela = tela
        self.intro = True      
        self.texto = Texto()
        self.pet = Pet(-30,10,0,1)

    def button(self,msg,x,y,w,h,ic,ac,action):
        #botoes menu
        mouse = pygame.mouse.get_pos()
        click = pygame.mouse.get_pressed()

        if x+w > mouse[0] > x and y + h > mouse[1] > y:
            pygame.draw.rect(tela, ac, (x,y,w,h))
            
            if click[0] == 1 and action !=None:
                
                if action == "jogar":
                    self.game_loop()

                elif action == "alimentar":
                    self.texto.alimentacao()
                    self.pet.alimentar()

                elif action == "lavar":
                    self.texto.lavamento()
                    self.pet.lavar()

                elif action == "soltar":
                    pygame.mixer.music.play()
                    time.sleep(1.5)
                    quit()
                    
                elif action == "menu_ida":
                    self.novapag()

                elif action == "menu_volta":
                    self.game_loop()
        else:
            pygame.draw.rect(tela, ic, (x,y,w,h))
            
        smallText = pygame.font.SysFont('Bodoni MT Black',30)
        TextSurface, TextRect = self.texto.text_objects(msg, smallText)
        TextRect.center = ( (x+(w/2)), (y + (h/2)) )
        tela.blit(TextSurface,TextRect)

    def rodar(self):
        while self.intro:
            for event in pygame.event.get():
                if event.type == pygame.QUIT:
                    quit()
            self.atualizar()
            self.desenhar_tela()
            
            
    def desenhar_tela(self):
        self.tela.fill(cinza)
        largeText = pygame.font.SysFont('freesansbold',100)
        background = pygame.image.load("background.JpG")
        tela.blit(background, (0, 0))
        logoimg = pygame.image.load('pumpng.png')
        tela.blit(logoimg, (110,220))
        self.button("Jogar",150,400,100,50,verde_escuro,cinza_escuro,"jogar")

        pygame.display.update()
        clock.tick(15)

    def atualizar(self):
        pass

    def game_loop(self):
        gameExit = False
        while not gameExit:
            for event in pygame.event.get():
                if event.type == pygame.QUIT:
                    pygame.quit()
                    quit()

            tela.fill(cinza_escuro)
            self.button("Alimentar",70,500,110,50,verde_escuro,cinza,"alimentar")
            self.button("Lavar Pum",230,500,110,50,verde_escuro,cinza,"lavar")
            self.button("X",370,5,22,22,vermelho_escuro,cinza,"soltar")
            self.button(">",355,515,22,22,amarelo_esquesito,cinza,"menu_ida")
            self.pet.pet()
            pygame.display.update()
            clock.tick(60)

    def novapag(self):
        gameExit = False
        while not gameExit:
            for event in pygame.event.get():
                if event.type == pygame.QUIT:
                    pygame.quit()
                    quit()

            tela.fill(cinza_escuro)
            self.button("Soltar Pum!",150,500,120,50,verde_escuro,cinza,"soltar")
            self.button("X",370,5,22,22,vermelho_escuro,cinza,"soltar")
            self.button("<",200,560,22,22,amarelo_esquesito,cinza,"menu_volta")
            self.pet.pet()
            pygame.display.update()
            clock.tick(60)
Example #15
0
class EstadoDerrota(Estado):
    def __init__(self, jogador, obstaculo_controller, efeito_controller):
        super().__init__(jogador, obstaculo_controller, efeito_controller)
        self.__recorde_salvo = False

        self.__texto_derrota = Texto("Derrota", "Materials/Early GameBoy.ttf",
                                     50, self.BLACK, [30, 40])

        self.__fundo_pontuacao = Fundo([20, 140, 360, 70], self.DARK_GREY)
        self.__texto_pontuacao = Texto(f"Pontos: {self.pontuacao.pontos}",
                                       "Materials/Early GameBoy.ttf", 20,
                                       self.WHITE, [30, 160])

        self.__nome = TextBox(self.tela.display,
                              20,
                              250,
                              280,
                              70,
                              borderColour=(0, 0, 0),
                              textColour=(0, 0, 0),
                              radius=10,
                              borderThickness=5)
        self.__nome.font = pygame.font.Font("Materials/Retro Gaming.ttf", 30)
        self.__texto_recorde = Texto("Insira seu nome e clique em salvar.",
                                     "Materials/Retro Gaming.ttf", 12,
                                     self.BLACK, [25, 325])

        self.__events_derrota = EventsDerrota(self.__nome)

        self.__imagem_botao_salvar = pygame.image.load(
            "Materials/disquete.png").convert_alpha(self.tela.display)
        self.__fundo_salvar = Fundo([310, 250, 70, 70], self.WHITE)
        self.__botao_salvar = BotaoImagem(self.__imagem_botao_salvar,
                                          (315, 255), self.__fundo_salvar,
                                          self.GREEN, self.DARK_GREEN,
                                          self.__events_derrota)

        self.__texto_jogar_novamente = Texto("Jogar novamente",
                                             "Materials/Retro Gaming.ttf", 30,
                                             self.WHITE, [40, 395])
        self.__fundo_jogar_novamente = Fundo([20, 380, 360, 70], self.WHITE)
        self.__botao_jogar_novamente = Botao(self.__texto_jogar_novamente,
                                             self.__fundo_jogar_novamente,
                                             self.GREEN, self.DARK_GREEN,
                                             self.__events_derrota)

        self.__texto_menu = Texto("Menu", "Materials/Retro Gaming.ttf", 40,
                                  self.WHITE, [135, 490])
        self.__fundo_menu = Fundo([20, 480, 360, 70], self.WHITE)
        self.__botao_menu = Botao(self.__texto_menu, self.__fundo_menu,
                                  self.GREEN, self.DARK_GREEN,
                                  self.__events_derrota)

    def salvar_recorde(self):
        if self.__nome.getText() != "":
            if len(self.__nome.getText()) > 10:
                self.__texto_recorde.texto = "Digite um nome menor, limite 10 caracteres."
            elif not self.__recorde_salvo:
                msg, salvo = self.recordes_controller.inclui_recorde(
                    self.__nome.getText(), self.pontuacao.pontos)
                self.__texto_recorde.texto = msg
                self.__recorde_salvo = salvo
            else:
                self.__texto_recorde.texto = "Só é possível salvar o recorde uma vez."
        else:
            self.__texto_recorde.texto = "Digite um nome."

        self.__nome.setText("")
        self.__nome.cursorPosition = 0

    def start(self):
        #Updates
        self.__events_derrota.check_events()
        jogar_novamente = self.__botao_jogar_novamente.update()
        menu_derrota = self.__botao_menu.update()

        salvar_recorde = self.__botao_salvar.update()
        if salvar_recorde:
            self.salvar_recorde()

        #Draws
        self.tela.fill(self.GREY)
        self.__texto_derrota.draw()
        self.__fundo_pontuacao.blitme()

        self.__texto_pontuacao.texto = str(f"Pontos: {self.pontuacao.pontos}")
        self.__texto_pontuacao.draw()

        self.__nome.draw()
        self.__botao_salvar.draw()
        self.__texto_recorde.draw()

        self.__botao_jogar_novamente.draw()
        self.__botao_menu.draw()

        if jogar_novamente:
            self.__recorde_salvo = False
            self.__texto_recorde.texto = "Insira seu nome e clique em salvar."
            self.pontuacao.zerar()
            self.velocidade_controller.zerar()
            self.fases_controller.zerar()
            self.jogador.reset()
            self.obstaculo_controller.zerar()
            self.efeito_controller.zerar()
            '''
            self.som_controller.stop_music()
            self.som_controller.play_music(0)
            '''
            return "jogando"
        elif menu_derrota:
            self.__recorde_salvo = False
            self.__texto_recorde.texto = "Insira seu nome e clique em salvar."
            self.pontuacao.zerar()
            self.velocidade_controller.zerar()
            self.fases_controller.zerar()
            self.jogador.reset()
            self.obstaculo_controller.zerar()
            self.efeito_controller.zerar()
            return "inicial"
        else:
            return "derrota"
Example #16
0
 def main(self):
     texto=Texto()
     texto.setTexto()
     self.convertir(texto.getTexto())
     self.imprimir()
     self.archivar()
Example #17
0
class EstadoInicial(Estado):
    def __init__(self, jogador):
        super().__init__(jogador)
        self.__events_inicial = EventsPadrao()

        self.__nome_jogo1 = Texto("co", "Materials/Mario-Kart-DS.ttf", 50,
                                  self.WHITE, [22, 100])
        self.__nome_jogo2 = Texto("RUN", "Materials/Mario-Kart-DS.ttf", 60,
                                  self.WHITE, [79, 85])
        self.__nome_jogo3 = Texto("avirus", "Materials/Mario-Kart-DS.ttf", 50,
                                  self.WHITE, [209, 100])

        self.__imagem_regras = pygame.image.load(
            "Materials/interrogacao.png").convert_alpha(self.tela.display)
        self.__fundo_regras = Fundo([340, 10, 50, 50], self.WHITE)
        self.__botao_regras = BotaoImagem(self.__imagem_regras, [345, 15],
                                          self.__fundo_regras, self.GREEN,
                                          self.DARK_GREEN,
                                          self.__events_inicial)

        self.__imagem_som = pygame.image.load(
            "Materials/som.png").convert_alpha(self.tela.display)
        self.__fundo_som = Fundo([280, 10, 50, 50], self.WHITE)
        self.__botao_som = BotaoImagem(self.__imagem_som, [285, 15],
                                       self.__fundo_som, self.GREEN,
                                       self.DARK_GREEN, self.__events_inicial)

        self.__imagem_devs = pygame.image.load(
            "Materials/devs.png").convert_alpha(self.tela.display)
        self.__fundo_devs = Fundo([220, 10, 50, 50], self.WHITE)
        self.__botao_devs = BotaoImagem(self.__imagem_devs, [225, 15],
                                        self.__fundo_devs, self.GREEN,
                                        self.DARK_GREEN, self.__events_inicial)

        self.__fundo_pontuacao = Fundo([20, 200, 360, 70], self.DARK_GREY)
        self.__texto_pontuacao = Texto(
            f"Recorde: {self.recordes_controller.primeiro()}",
            "Materials/Early GameBoy.ttf", 20, self.WHITE, [30, 220])

        self.__texto_recordes = Texto("Recordes", "Materials/Retro Gaming.ttf",
                                      40, self.WHITE, [80, 310])
        self.__fundo_recordes = Fundo([20, 300, 360, 70], self.WHITE)
        self.__botao_recordes = Botao(self.__texto_recordes,
                                      self.__fundo_recordes, self.GREEN,
                                      self.DARK_GREEN, self.__events_inicial)

        self.__texto_play = Texto("PLAY", "Materials/Retro Gaming.ttf", 60,
                                  self.WHITE, [110, 397])
        self.__fundo_play = Fundo([20, 400, 360, 70], self.WHITE)
        self.__botao_play = Botao(self.__texto_play, self.__fundo_play,
                                  self.GREEN, self.DARK_GREEN,
                                  self.__events_inicial)

    def start(self):
        #Updates
        if not self.musica:
            #self.som_controller.play_music(1)
            self.musica = True
        self.__events_inicial.check_events()
        play = self.__botao_play.update()
        regras = self.__botao_regras.update()
        recordes = self.__botao_recordes.update()
        som = self.__botao_som.update()
        devs = self.__botao_devs.update()

        # Draws
        self.tela.fill(self.GREY)
        self.__nome_jogo1.draw()
        self.__nome_jogo2.draw()
        self.__nome_jogo3.draw()
        self.__fundo_pontuacao.blitme()
        if len(self.recordes_controller.recordes) > 0:
            self.__texto_pontuacao.texto = str(
                f"Recorde: {self.recordes_controller.primeiro()['pontos']}")
        else:
            self.__texto_pontuacao.texto = str(f"Recorde:")
        self.__texto_pontuacao.draw()

        self.__botao_play.draw()
        self.__botao_regras.draw()
        self.__botao_som.draw()
        self.__botao_devs.draw()
        self.__botao_recordes.draw()

        if play:
            #self.som_controller.stop_music()
            #self.som_controller.play_music(0)
            return "jogando"
        elif regras:
            return "regras"
        elif recordes:
            return "recorde"
        elif som:
            return "som"
        elif devs:
            return "developers"
        else:
            return "inicial"
Example #18
0
 def __init__(self):
     self.tela = tela
     self.intro = True      
     self.texto = Texto()
     self.pet = Pet(-30,10,0,1)
 def ejecutar(self):
     texto=Texto()
     texto.setTexto()
     self.analisis(texto.getTexto())
     self.imprimir()
Example #20
0
 def eliminar(self):
     """Quita el texto de la escena."""
     Texto.eliminar(self)
     self.sombra.eliminar()
Example #21
0
from texto import Texto

text = Texto(1, '*', "Hacker")
text.es()
Example #22
0
 def teste_stopwords(self):
     emo = Texto()
     nome = choice(emo.stopwords)
     self.assertIsNotNone(nome)        
Example #23
0
 def teste_nome(self):
     emo = Texto()
     nome = choice(emo.emocoes)
     self.assertIsNotNone(nome)
Example #24
0
def obterResultado(texto, palavra):
    t = Texto(texto, palavra)
    resultados = t.visualizarOcorrencias()
    return resultados
 def main(self):
     texto = Texto()
     texto.setTexto()
     self.analizar_texto(texto.getTexto())
     self.imprimir()
Example #26
0
 def eliminar(self):
     Texto.eliminar(self)
     self.sombra.eliminar()
Example #27
0
 def eliminar(self):
     """Quita el texto de la escena."""
     Texto.eliminar(self)
     self.sombra.eliminar()
 def ejecutar(self):
     texto=Texto()
     texto.setTexto()
     self.convertir(texto.getTexto())
Example #29
0
 def eliminar(self):
     Texto.eliminar(self)
     self.sombra.eliminar()
 def main(self):
     texto = Texto()
     texto.setTexto()
     self.imprimir(texto.getTexto())
Example #31
0
class EstadoRecorde(Estado):
    def __init__(self):
        super().__init__()
        self.__events_recorde = EventsPadrao()
        self.__texto_recordes = Texto("Recordes", "Materials/Early GameBoy.ttf", 50, self.BLACK, [5, 40])
        self.__fundo_texto_recorde = Fundo([20, 140, 360, 350], self.DARK_GREY)
        self.__imagem_botao_voltar = pygame.image.load("Materials/voltar.png").convert_alpha(self.tela.display)
        self.__fundo_voltar = Fundo([20, 510, 70, 70], self.WHITE)
        self.__botao_voltar = BotaoImagem(self.__imagem_botao_voltar, (25, 515), self.__fundo_voltar, self.GREEN, self.DARK_GREEN, self.__events_recorde)
        self.__imagem_botao_limpar = pygame.image.load("Materials/lixeira.png").convert_alpha(self.tela.display)
        self.__fundo_limpar = Fundo([310, 510, 70, 70], self.WHITE)
        self.__botao_limpar = BotaoImagem(self.__imagem_botao_limpar, (315, 515), self.__fundo_limpar, self.GREEN, self.DARK_GREEN, self.__events_recorde)
        self.__cabecalho_nomes = "Nomes:"
        self.__texto_lista_nomes = [Texto(self.__cabecalho_nomes, "Materials/Retro Gaming.ttf", 18, self.WHITE, [40, 150])]
        self.__cabecalho_pontos = "Pontos:"
        self.__texto_lista_pontos = [Texto(self.__cabecalho_pontos, "Materials/Retro Gaming.ttf", 18, self.WHITE, [230, 150])]
        for i in range(15):
            cores = [self.YELLOW, self.SILVER, self.BRONZE, self.WHITE]
            cor = None
            if i == 0:
                cor = cores[0]
            elif i == 1:
                cor = cores[1]
            elif i == 2:
                cor = cores[2]
            else:
                cor = cores[3]
            self.__texto_lista_nomes.append(Texto(f"{i + 1} - ", "Materials/Retro Gaming.ttf", 15, cor, [40, 180 + 20 * i]))
            self.__texto_lista_pontos.append(Texto("", "Materials/Retro Gaming.ttf", 15, cor, [230, 180 + 20 * i]))

    def listar_recordes(self):
        recordes = self.recordes_controller.recordes
        limite = 15
        if len(recordes) < 15:
            limite = len(recordes)
            
        for i in range(limite):
            self.__texto_lista_nomes[i+1].texto = f'{i + 1} - {recordes[i]["nome"]}'
            self.__texto_lista_pontos[i+1].texto = f'{recordes[i]["pontos"]}'

    def limpar_lista_recordes(self):
        for i in range(15):
            self.__texto_lista_nomes[i+1].texto = f"{i + 1} - "
            self.__texto_lista_pontos[i+1].texto = ""

    def start(self):
        #Updates
        self.__events_recorde.check_events()
        self.listar_recordes()
        voltar = self.__botao_voltar.update()
        limpar = self.__botao_limpar.update()
        
        if limpar:
            self.recordes_controller.limpar_recordes()
            self.limpar_lista_recordes()

        #Draws
        self.tela.fill(self.GREY)
        self.__texto_recordes.draw()
        self.__fundo_texto_recorde.blitme()
        self.__botao_voltar.draw()
        self.__botao_limpar.draw()

        for i in range(16):
            self.__texto_lista_nomes[i].draw()
            self.__texto_lista_pontos[i].draw()
        
        if voltar:
            return "inicial"
        else:
            return "recorde"
Example #32
0
 def teste_emo(self):
     emo = Texto()
     _emo = choice(emo.emocoes)
     self.assertIsNotNone(_emo)
Example #33
0
    def __init__(self):
        super().__init__()
        self.__texto_som = Texto("Som", "Materials/Early GameBoy.ttf", 50, self.BLACK, [130, 40])
        
        self.__texto_musica = Texto("Volume música:", "Materials/Retro Gaming.ttf", 25, self.WHITE, [20, 150])
        self.__texto_efeitos = Texto("Volume efeitos:", "Materials/Retro Gaming.ttf", 25, self.WHITE, [20, 300])
        
        self.__slider_musica = Slider(self.tela.display, 20, 230, 300, 20, min=0, max=1, step=0.1, handleColour=self.GREEN)
        self.__slider_musica.setValue(self.som_controller.volume_atual_music)
        self.__slider_sons = Slider(self.tela.display, 20, 380, 300, 20, min=0, max=1, step=0.1, handleColour=self.GREEN)
        self.__slider_sons.setValue(self.som_controller.volume_atual_sound)
        self.__sliders = [self.__slider_musica, self.__slider_sons]
        self.__events_som = EventsSom(self.__sliders)

        self.__numero_musica = Texto("", "Materials/Retro Gaming.ttf", 25, self.WHITE, [335, 225])
        self.__numero_sons = Texto("", "Materials/Retro Gaming.ttf", 25, self.WHITE, [335, 375])
        
        self.__imagem_botao_voltar = pygame.image.load("Materials/voltar.png").convert_alpha(self.tela.display)
        self.__fundo_voltar = Fundo([20, 510, 70, 70], self.WHITE)
        self.__botao_voltar = BotaoImagem(self.__imagem_botao_voltar, (25, 515), self.__fundo_voltar, self.GREEN, self.DARK_GREEN, self.__events_som)
        
        self.__texto_vol_padrao = Texto("Volume Padrão", "Materials/Retro Gaming.ttf", 27, self.BLACK, [125, 525])
        self.__fundo_vol_padrao = Fundo([110, 510, 270, 70], self.WHITE)
        self.__botao_vol_padrao = Botao(self.__texto_vol_padrao, self.__fundo_vol_padrao, self.GREEN, self.DARK_GREEN, self.__events_som)
class PontuacaoController(metaclass=Singleton):
    def __init__(self):
        self.__pontos = 0
        self.__tela = Tela()
        self.__WHITE = (255, 255, 255)
        self.__GREEN = (0, 100, 0)
        self.__texto = Texto("", "Materials/Early GameBoy.ttf", 25,
                             self.__WHITE, [370, 10])

        self.__timer = 0
        self.__timerMax = 30
        self.__timerAtual = self.__timerMax
        self.__velocidade_controller = VelocidadeController()
        self.__len_pontuacao = 1
        self.__fundo = Fundo([360, 10, 35, 30], self.__GREEN)

        self.__multiplicador = 1
        self.__multiplicador_ativo = False
        self.__timer_multiplicador = 0
        self.__timer_multiplicador_max = 300

    @property
    def multiplicador(self):
        return self.__multiplicador

    @multiplicador.setter
    def multiplicador(self, multiplicador):
        self.__multiplicador = multiplicador

    @property
    def multiplicador_ativo(self):
        return self.__multiplicador_ativo

    @multiplicador_ativo.setter
    def multiplicador_ativo(self, multiplicador_ativo):
        self.__multiplicador_ativo = multiplicador_ativo

    @property
    def timer_multiplicador(self):
        return self.__timer_multiplicador

    @timer_multiplicador.setter
    def timer_multiplicador(self, timer_multiplicador):
        self.__timer_multiplicador = timer_multiplicador

    @property
    def pontos(self):
        return self.__pontos

    @pontos.setter
    def pontos(self, pontos):
        self.__pontos = pontos

    @property
    def fundo(self):
        return self.__fundo

    def draw(self):
        self.__texto.texto = str(self.__pontos)
        self.__texto.draw()

    def update(self):
        if self.__multiplicador_ativo:
            self.__timer_multiplicador += 1
            if self.__timer_multiplicador >= self.__timer_multiplicador_max:
                self.__timer_multiplicador = 0
                self.__multiplicador_ativo = False
                self.__multiplicador = 1

        self.__timerAtual = self.__timerMax / self.__velocidade_controller.vel_atual
        self.__timer += 1
        if self.__timer > self.__timerAtual:
            self.__timer = 0
            self.__pontos += 1 * self.__multiplicador
        self.ajuste_pontos()

    def ajuste_pontos(self):
        if self.__len_pontuacao < len(str(self.__pontos)):
            self.__texto.posicao[0] += -25
            self.__len_pontuacao += 1

            if len(str(self.__pontos)) >= 2:
                self.__fundo.update_width(25)

    def zerar(self):
        self.__velocidade_controller.zerar()
        self.pontos = 0
        self.__len_pontuacao = 1
        self.__texto.posicao = [370, 10]
        self.__fundo.param = [360, 10, 35, 30]