예제 #1
0
    def maj(self, delta):
        self.__temps_anim += delta

        if not self.__fin_jeu.debut and self.__vainqueur.get_pos()[0] >= 700:
            self.__fin_jeu.debut = True

        if self.__fin_jeu.fin:
            self.__vainqueur.deplacement = (-1, 0)
            self.__vainqueur.vitesse = 0
            self.__vainqueur.anim = Animation(0, 0, TAILLE_PERSO[0], TAILLE_PERSO[1], 4, 0.2)

            for dino in self.__perdants:
                dino.fin()

            sons = Sons()
            from gestionnaires.Jeu import Jeu
            if Jeu.konami_actif():
                sons.jouer_son('k-mort2')
            else:
                sons.jouer_son('mort')
                sons.jouer_son('mort2')
                sons.jouer_son('mort3')

            sons.jouer_son('crash', 'ogg')

            BoutonRejouer(self, 550)
            Maj().supprimer(self)
예제 #2
0
    def __retirer_vie(self):
        self.__vies -= 1
        self.__hud.retirer_pv()

        if Jeu.Jeu.konami_actif():
            Sons().jouer_son('k-mort')
        else:
            Sons().jouer_son('mort')

        if self.__vies > 0:
            self.__revivre()
        else:
            Joueur.__count -= 1
예제 #3
0
    def evenement(self, evenement):
        if self.__vies <= 0:
            return

        if evenement.type == pygame.KEYDOWN:
            if evenement.key == self._touches.get('aller_gauche'):
                self.__deplacement[0] -= 1
            elif evenement.key == self._touches.get('aller_droite'):
                self.__deplacement[0] += 1
            elif evenement.key == self._touches.get(
                    'sauter') and self.__nb_saut_restant > 0:
                self.__deplacement[1] -= self.__velocite_saut
                self.__nb_saut_restant -= 1
                Sons().jouer_son('saut')
            elif evenement.key == self._touches.get('accroupir'):
                self.accroupir()

        else:  # KEYUP
            if evenement.key == self._touches.get('aller_gauche'):
                self.__deplacement[0] += 1
            elif evenement.key == self._touches.get('aller_droite'):
                self.__deplacement[0] -= 1
            elif evenement.key == self._touches.get('accroupir'):
                self.relever()

        if self._subit_tornade <= 0:
            self.__maj_animation()
예제 #4
0
 def evenement(self):
     if self._menu.montrer and (self._coord[0] <= pygame.mouse.get_pos()[0] <= self._coord[0] + 423) \
             and (self._coord[1] <= pygame.mouse.get_pos()[1] <= self._coord[1] + 76):
         Sons().jouer_son('clique', 'ogg')
         self._menu.montrer = False
         Evenement().reprendre()
         Maj().reprendre()
예제 #5
0
파일: Jeu.py 프로젝트: HoloZoR/GameJamIUT2
        def fin(self):
            self.__hud_meilleur_temps.fin()

            for joueur in self.__joueurs:
                joueur.fin()

            self.__parallax.fin()
            self.__carte.fin()
            self.__fleche.fin()
            
            Evenement().supprimer(self)

            if Jeu().konami_actif():
                Sons().pause_musique('fond-konami')
            else:
                Sons().pause_musique('fond')
예제 #6
0
파일: Jeu.py 프로젝트: HoloZoR/GameJamIUT2
        def __init__(self, couleurs_joueurs, nb_coeurs):
            self.__joueurs = []
            for i in range(0, len(couleurs_joueurs)):
                self.__joueurs.append(JoueurTornade(TOUCHES[i], couleurs_joueurs[i], nb_coeurs))

            self.__parallax = Parallax()
            self.__carte = Carte()
            self.__fleche = HudFlecheDirection()
            if Jeu().konami_actif():
                Sons().jouer_musique('fond-konami')
            else:
                Sons().jouer_musique('fond')

            self.__hud_meilleur_temps = HudMeilleurTemps()

            Evenement().enregistrer(pygame.KEYUP, self)
            self.__pause = Pause()
예제 #7
0
 def evenement(self, evenement):
     from interfaces.MenuPrincipal import MenuPrincipal
     if (self.__coord[0] <= pygame.mouse.get_pos()[0] <= self.__coord[0] + 300) \
             and (self.__coord[1] <= pygame.mouse.get_pos()[1] <= self.__coord[1] + 76):
         Sons().jouer_son('clique', 'ogg')
         Evenement().supprimer(self)
         Affichage().supprimer(self)
         self.__parent.fin()
         MenuPrincipal()
예제 #8
0
 def evenement(self, evenement):
     if self._menu.montrer:
         if not self.transparent:
             if (self._coord[0] <= pygame.mouse.get_pos()[0] <= self._coord[0] + 241) \
                     and (self._coord[1] <= pygame.mouse.get_pos()[1] <= self._coord[1] + 66):
                 self._menu.montrer = False
                 Sons().jouer_son('clique', 'ogg')
                 Jeu([
                     self._menu.get_selection_j1(),
                     self._menu.get_selection_j2()
                 ], self._menu.get_nb_coeurs())
예제 #9
0
 def affichage(self, ecran):
     if self.montrer:
         ecran.fill(self.__couleur)
         for i in range(min(30, self.__compteur)):
             ecran.blit(self.__image,
                        (LARGEUR / 2 - 126, HAUTEUR / 2 - 230))
         if self.__timeur == 20:
             Sons().jouer_son('intro', 'ogg')
         if self.__timeur == 550:
             self.montrer = False
             self.__timeur = 0
             MenuPrincipal()
예제 #10
0
    def __init__(self, positions, deplacement, couleur_joueur, vitesse=400, duree=3):
        self.__couleur_joueur = couleur_joueur
        self.__sprite = Images().charger_image(self.CHEMIN_SPRITE + 'Tornade.png')
        self.__rect = self.__sprite.get_rect()
        self.__rect.x, self.__rect.y = positions
        self.__deplacement = deplacement
        self.__vitesse = vitesse
        self.__animation = Animation(0, 0, Tornade.TAILLE_IMAGE[0], Tornade.TAILLE_IMAGE[1], 4, duree / 12)
        self.__temps_restant = duree

        Sons().jouer_son('Tornade', 'wav', math.ceil(duree/3) - 1, duree)  # Avec 3 la duree du sons
        Affichage().enregistrer(self, 1)
        Maj().enregistrer(self)
예제 #11
0
    def collisions(self, joueur, delta):
        this_rect = self.get_rect()
        this_rect.x, this_rect.y = self._x, self._y

        if this_rect.colliderect(joueur.get_rect_collision()):
            joueur.ajouter_boost(
                *[self.__vitesse * delta * x for x in self.__direction])
            if joueur not in self.__joueurs:
                Sons().jouer_son('vent')
                self.__joueurs.append(joueur)
        elif joueur in self.__joueurs:
            self.__joueurs.remove(joueur)

        return None
예제 #12
0
 def evenement(self, evenement):
     if self._menu.montrer and (self._coord[0] <= pygame.mouse.get_pos()[0] <= self._coord[0] + 300) \
             and (self._coord[1] <= pygame.mouse.get_pos()[1] <= self._coord[1] + 76):
         Sons().jouer_son('clique', 'ogg')
         quit()
예제 #13
0
 def evenement(self, evenement):
     if self._menu.equipe:
         if (self._coord[0] <= pygame.mouse.get_pos()[0] <= self._coord[0] + 135) \
                 and (self._coord[1] <= pygame.mouse.get_pos()[1] <= self._coord[1] + 40):
             Sons().jouer_son('clique', 'ogg')
             self.afficher_sources()
예제 #14
0
 def evenement(self, evenement):
     if self._menu.montrer:
         if (self._coord[0] <= pygame.mouse.get_pos()[0] <= self._coord[0] + 100) \
                 and (self._coord[1] <= pygame.mouse.get_pos()[1] <= self._coord[1] + 30):
             Sons().jouer_son('clique', 'ogg')
             self.afficher_credits()