예제 #1
0
파일: fin.py 프로젝트: argentumx/Durak
    def render(self, clock, screen, p):
        screen.fill(self.background_color)
        count = 0
        self.selectDurakMusic()
        if self.durak > 0:
            durak_text = tt.render_text(
                "S",
                "El Jugador " + str(self.durak) + " es el Rey de los Idiotas!",
                self.white)
        else:
            durak_text = tt.render_text(
                "M", "No levanto mi sombrero ante un idiota!", self.white)
        while not self.st_done:
            fools_hat = pygame.image.load(
                st.current_dir() + "/data/other/fool.png").convert_alpha()
            term_text = tt.render_text(
                "S", ">Presione SPACE para volver al menu...",
                self.white_to_bg_fade[count % len(self.white_to_bg_fade)])

            screen.blit(term_text, (p[0] / 2 - term_text.get_width() // 2,
                                    p[1] - term_text.get_height() - 100 // 2))

            screen.blit(durak_text, (p[0] / 2 - durak_text.get_width() // 2,
                                     p[1] // 2 - durak_text.get_height() // 2))

            screen.blit(fools_hat, (p[0] / 2 - fools_hat.get_width() // 2,
                                    p[1] - 380 - fools_hat.get_height() // 2))
            pygame.display.flip()
            count += 1
            clock.tick(5)
            [
                self.get_event(event, pygame.key.get_pressed())
                for event in pygame.event.get()
            ]
예제 #2
0
    def render(self, clock, screen, p):
        pygame.mixer.music.load("data/other/menu_intro.mp3")
        pygame.mixer.music.play(1, 0.0)
        screen.fill(self.background_color)
        text_logo = tt.render_text("L", "Durak", self.white)
        screen.blit(text_logo, (p[0] / 2 - text_logo.get_width() // 2,
                                p[1] / 2 - text_logo.get_height() // 2))
        count = 0
        while not self.st_done:

            term_text = tt.render_text(
                "S", ">Presione cualquier tecla para continuar...",
                self.white_to_bg_fade[count % len(self.white_to_bg_fade)])

            screen.blit(term_text,
                        (p[0] / 2 - term_text.get_width() // 2,
                         p[1] - 100 / 2 - term_text.get_height() // 2))

            pygame.display.flip()
            count += 1
            clock.tick(5)
            [
                self.get_event(event, pygame.key.get_pressed())
                for event in pygame.event.get()
            ]
예제 #3
0
 def generarCantidades(self):
     cant_Textos = list(
         map(
             lambda i: tt.render_text(
                 "T", str(self.jugadores[i].mostrarCantidad()), self.white),
             [i for i in range(1, 6)]))
     cant_Textos.insert(
         0,
         tt.render_text("S", str(self.jugadores[0].mostrarCantidad()),
                        self.white))
     return cant_Textos
예제 #4
0
    def render(self, clock, screen, p):

        if not self.st_done:
            screen.fill(self.background_color)
            string = "Saltar el tutorial?"
            screen.blit(self.fondo.getImg(),
                        (self.fondo.getX(), self.fondo.getY()))
            question_text = tt.render_text("S", string, self.white)
            screen.blit(question_text, (290, 200))

        while not self.st_done:
            pygame.display.update()
            screen.blit(self.skip.getImg(),
                        (self.skip.getX(), self.skip.getY()))
            screen.blit(self.show_tut.getImg(),
                        (self.show_tut.getX(), self.show_tut.getY()))
            [
                self.get_event(event, pygame.key.get_pressed())
                for event in pygame.event.get()
            ]

        temp = pygame.image.load(
            st.current_dir() + "/data/other/game_start3.png").convert_alpha()
        temp = pygame.transform.scale(temp, (800, 500))
        screen.blit(temp, (0, 0))
        pygame.time.delay(600)
        pygame.display.update()
예제 #5
0
파일: menu.py 프로젝트: IderieDev/Durak
    def render(self, clock, screen, p):
        screen.fill(self.background_color)
        # dibuja zonas donde funcionan los clicks
        #pygame.draw.rect(screen, (255,255,255),(102,154,135,181))
        #pygame.draw.rect(screen, (255,255,255),(322,154,135,181))
        #pygame.draw.rect(screen, (255,255,255),(552,154,135,181))
        boton1 = self.images[1]
        boton2 = self.images[1]
        boton3 = self.images[1]

        boton1_text = tt.render_text("S", ">JUGAR", self.white)
        boton2_text = tt.render_text("S", ">CREDITOS", self.white)
        boton3_text = tt.render_text("S", ">SALIR", self.white)

        screen.blit(boton1_text, (112, 135))
        screen.blit(boton2_text, (330, 135))
        screen.blit(boton3_text, (562, 135))

        while not self.st_done:

            screen.blit(boton1, (70, 120))
            screen.blit(boton2, (290, 120))
            screen.blit(boton3, (520, 120))

            pygame.display.update()
            if self.b1.collidepoint(pygame.mouse.get_pos()):
                boton1 = self.images[0]
            else:
                boton1 = self.images[1]

            if self.b2.collidepoint(pygame.mouse.get_pos()):
                boton2 = self.images[0]
            else:
                boton2 = self.images[1]

            if self.b3.collidepoint(pygame.mouse.get_pos()):
                boton3 = self.images[0]
            else:
                boton3 = self.images[1]

            [
                self.get_event(event, pygame.key.get_pressed())
                for event in pygame.event.get()
            ]
예제 #6
0
 def render(self, clock, screen, p):
     screen.fill(self.background_color):
     screen.blit(pause_text, (p[0]/2 - pause_text.get_width()//2, 20))
     term_text = tt.render_text("S", ">Presione SPACE para volver a jugar...", self.white_to_bg_fade[count % len(self.white_to_bg_fade)])
     screen.blit(term_text, (p[0]/2 - term_text.get_width() //
                                 2, p[1] - term_text.get_height() - 100// 2))
     pygame.display.flip()
     count += 1
     clock.tick(5)
     [self.get_event(event, pygame.key.get_pressed(), screen) for event in pygame.event.get()]    
예제 #7
0
def menu_screen():
    menu = True
    print("Capte una clave, estoy en menu")
    while menu:
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                pygame.quit()
                quit()
        screen.fill(background_color)
        S_text = tt.render_text("T", "lmao se supone que esto es el menu!",
                                white)
        screen.blit(S_text, (width / 2 - S_text.get_width() // 2,
                             height / 2 - S_text.get_height() // 2))
        pygame.display.update()
예제 #8
0
파일: creditos.py 프로젝트: IderieDev/Durak
    def render(self, clock, screen, p):
        screen.fill(self.background_color)
        screen.blit(self.logo_utfsm,
                    (p[0] / 2 - self.logo_utfsm.get_width() // 2,
                     p[1] - 380 - self.logo_utfsm.get_height() // 2))
        main_text = tt.render_text("M", "Integrantes:", self.white)
        screen.blit(main_text, (p[0] / 2 - main_text.get_width() // 2,
                                p[1] / 2 + 50 - main_text.get_height() // 2))

        i1_text = tt.render_text("S",
                                 ">" + self.integrante1 + " " + self.rol_int1,
                                 self.white)
        screen.blit(i1_text, (200, 350))
        i2_text = tt.render_text(
            "S", ">" + self.integrante2 + "   " + self.rol_int2, self.white)
        screen.blit(i2_text, (200, 370))

        paralelo_text = tt.render_text("S", "Paralelo: " + self.paralelo,
                                       self.white)
        screen.blit(paralelo_text, (200, 250))

        count = 0
        while not self.st_done:
            term_text = tt.render_text(
                "S", ">Presione ENTER para volver al menu...",
                self.white_to_bg_fade[count % len(self.white_to_bg_fade)])
            screen.blit(term_text,
                        (p[0] / 2 - term_text.get_width() // 2,
                         p[1] - 100 / 2 - term_text.get_height() // 2))
            pygame.display.flip()
            count += 1
            clock.tick(5)
            [
                self.get_event(event, pygame.key.get_pressed())
                for event in pygame.event.get()
            ]
예제 #9
0
파일: menu.py 프로젝트: argentumx/Durak
    def render(self, clock, screen, p):
        screen.fill(self.background_color)
        self.touchCard = pygame.mixer.Sound('data/other/card-flip.wav')
        # Muestra los strings en posiciones indicadas
        strings = [(">JUGAR", 112), (">CREDITOS", 330), (">SALIR", 562)]
        [(lambda t: screen.blit(tt.render_text("S", t[0], self.white),
                                (t[1], 135)))(t) for t in strings]

        while not self.st_done:
            # Muestra los naipes - botones en posiciones indicadas
            [(lambda b: screen.blit(b.getImg(), (b.getX(), b.getY())))(b)
             for b in self.botones]
            pygame.display.update()
            [
                self.get_event(event, pygame.key.get_pressed())
                for event in pygame.event.get()
            ]
예제 #10
0
파일: tutorial.py 프로젝트: argentumx/Durak
    def render(self, clock, screen, p):
        self.i = 0
        self.createBG()
        curr = self.bg_array[0]
        while not self.st_done:
            screen.blit(curr, (0, 0))
            question_text = tt.render_text(
                "S", self.strings[self.i], self.background_color)
            screen.blit(self.fondo.getImg(),
                        (self.fondo.getX(), self.fondo.getY()))
            screen.blit(question_text, (self.fondo.getRekt().center[0] - question_text.get_width() // 2,
                                        self.fondo.getRekt().center[1] - question_text.get_height() // 2))
            self.mostrarFlechas(screen)

            # Explicación de cantidades
            if self.i == 4:
                curr = self.bg_array[1]
            # Explicación sobre cartas de jugador
            if self.i == 8:
                curr = self.bg_array[2]
            # Explicación sobre los oponentes
            if self.i == 12:
                curr = self.bg_array[0]
            # Explicación sobre el ataque/defensa
            if self.i == 19:
                curr = self.bg_array[3]
            # Explicación sobre UP/DOWN y uso de botones
            if self.i == 21:
                curr = self.bg_array[4]
            # Expliaciones que quedan.
            if self.i == 32:
                curr = self.bg_array[0]
            pygame.display.update()
            [self.get_event(event, pygame.key.get_pressed())
             for event in pygame.event.get()]
        # Pantalla de "loading..."
        temp = pygame.image.load(
            st.current_dir() + "/data/other/game_start3.png").convert_alpha()
        temp = pygame.transform.scale(temp, (800, 500))
        screen.blit(temp, (0, 0))
        pygame.display.update()
예제 #11
0
    def render(self, clock, screen, p):
        #se inicia sin pausar el juego
        self.gameMusic()
        self.mode_pause = True
        screen.fill(self.background_color)
        # Inicializa valores para el juego
        self.gameStart(screen)
        # Mano del humano muestra 3 cartas
        self.cant_Textos = self.generarCantidades()
        self.refreshUI(screen)
        #Mientras el juego sigue:
        while not self.st_done:
            if self.mode_pause:
                #Dibuja mano de jugador, que siempre permanece en la pantalla.
                self.cardOnScreen(screen, self.manoVisible[0],
                                  (self.u1.getX(), self.u1.getY()))
                self.cardOnScreen(screen, self.manoVisible[1],
                                  (self.u2.getX(), self.u2.getY()))
                self.cardOnScreen(screen, self.manoVisible[2],
                                  (self.u3.getX(), self.u3.getY()))

                self.mostrarOponentes(screen)
                # Debajo de cada carta, se imprime la cantidad de naipes de cada jugador.
                self.mostrarCantidadNaipes(screen, self.cant_Textos)
                # Muestra la trump
                self.mostrarTrump(screen)
                # Muestra las felchas
                self.mostrarFlechas(screen)
                # Muestra el boton tomar
                self.mostrarTomar(screen)
                # Muestra el boton pasar
                self.mostrarPasar(screen)
                # Muestra el boton de pausar,musica y sonidos
                self.mostrarOptions(screen)
                pygame.display.update()
                if self.boolAtq: self.checkTurn(self.atacante, screen)
                if not ((self.atacante == 0 and self.boolAtq) or
                        ((self.defensor == 0 and not self.boolAtq)
                         and self.boolDfs) and not self.checkGame()):
                    if not self.endTurn: self.turnoCPU(screen)
                if self.boolAtq: self.checkTurn(self.atacante, screen)
                #Una vez que termine la ronda, borramos las cartas de la zona de ataque, y reiniciamos el turno.
                if (len(self.cartasJugadas["ataque"]) == 6
                        and self.boolAtq) or self.endTurn:
                    self.game(screen)
                    screen.fill(self.background_color)
            else:
                #El jugador presionó SPACE o usó el botón en la pantalla, para pausar el juego.
                pause_text = tt.render_text("M", "PAUSE", self.white)
                count = 0
                while not self.mode_pause:
                    #Se rellena la pantalla, formando un arco, que no cubre zona de ataque central, conservando las cartas.
                    self.updateParcial(screen, p)
                    screen.blit(pause_text,
                                (p[0] / 2 - pause_text.get_width() // 2, 20))
                    term_text = tt.render_text(
                        "S", ">Presione SPACE para volver a jugar...",
                        self.white_to_bg_fade[count %
                                              len(self.white_to_bg_fade)])
                    screen.blit(term_text,
                                (p[0] / 2 - term_text.get_width() // 2,
                                 p[1] - term_text.get_height() - 100 // 2))
                    pygame.display.flip()
                    count += 1
                    clock.tick(5)
                    [
                        self.get_event(event, pygame.key.get_pressed(), screen)
                        for event in pygame.event.get()
                    ]
            [
                self.get_event(event, pygame.key.get_pressed(), screen)
                for event in pygame.event.get()
            ]
            self.updateParcial(screen, p)
            self.updateZonaHumano(screen, p)
예제 #12
0
 def mostrarTrump(self, screen):
     trumpImg = self.t1.getImg()
     trump_text = tt.render_text("T", "Triunfo: " + self.trump.printNaipe(),
                                 self.white)
     screen.blit(trump_text, (self.t1.getX() - 65, self.t1.getY() - 18))
     screen.blit(trumpImg, (self.t1.getX(), self.t1.getY()))
예제 #13
0
 def actualizarMano(self, indice):
     nuevo_texto = tt.render_text(
         "T", str(self.jugadores[indice].mostrarCantidad()), self.white)
     self.cant_Textos.remove(self.cant_Textos[indice])
     self.cant_Textos.insert(indice, nuevo_texto)