Пример #1
0
class Game_scene(Scene):
    def __init__(self, game):
        super(Game_scene, self).__init__(screen, manager)

        screen_size = self.screen.get_size()
        self.balle = Balle(self.screen,
                           (screen_size[0] / 2, screen_size[1] / 2),
                           speed=0.5)
        self.balle.direction = Direction.DOWN_RIGHT

        barre_size = (5, 64)
        self.barres = (Barre(self.screen, size=barre_size, speed=1),
                       Barre(self.screen,
                             coords=(screen_size[0] - barre_size[0],
                                     screen_size[1] - barre_size[1]),
                             size=barre_size,
                             controls={
                                 Direction.UP: pygame.K_o,
                                 Direction.DOWN: pygame.K_l
                             },
                             speed=1))

    def update(self, evts):
        self.collis()
        self.events(evts)

        self.balle.update()
        for barre in self.barres:
            barre.update()
        pygame.display.update()

    def events(self, evts):
        for evt in evts:
            if evt.type == pygame.USEREVENT:
                self.balle.reset()

    def collis(self):
        balleRect = pygame.Rect(self.balle.coords,
                                (self.balle.size, self.balle.size))
        for idx in range(len(self.barres)):
            barreRect = pygame.Rect(self.barres[idx].coords,
                                    self.barres[idx].size)

            if (balleRect.colliderect(barreRect)):
                if idx == 0:
                    if (self.balle.direction == Direction.LEFT):
                        self.balle.direction = Direction.RIGHT
                    elif self.balle.direction == Direction.DOWN_LEFT:
                        self.balle.direction = Direction.DOWN_RIGHT
                    elif self.balle.direction == Direction.UP_LEFT:
                        self.balle.direction = Direction.UP_RIGHT
                elif idx == 1:
                    if self.balle.direction == Direction.RIGHT:
                        self.balle.direction = Direction.LEFT
                    elif self.balle.direction == Direction.UP_RIGHT:
                        self.balle.direction = Direction.UP_LEFT
                    elif self.balle.direction == Direction.DOWN_RIGHT:
                        self.balle.direction = Direction.DOWN_LEFT

                self.balle.speed *= 1.01
Пример #2
0
 def __init__(self):
     self.en_jeu = True
     self.balle = Balle()
     self.raquette = Raquette()
     self.niveau = Niveau()
     self.vie = NOMBRE_VIES
     self.score = 0
     self.briques_touchees = 0
Пример #3
0
class Game:
    def __init__(self, window: pygame.Surface):
        self.window = window
        self.proceed = True
        self.barre = Barre(self.window)
        self.balle = Balle(self.window)
        self.controles = {HAUT: const.K_UP, BAS: const.K_DOWN}

    def prepare(self):
        pygame.key.set_repeat(200, 50)
        self.proceed = True
        self.barre = Barre(self.window)
        self.balle = Balle(self.window)

    def update_screen(self):
        pygame.draw.rect(self.window, (0, 0, 0),
                         (0, 0) + self.window.get_size())
        pygame.draw.rect(
            self.window, (255, 255, 255),
            (self.window.get_width() // 2 - 1, 0, 2, self.window.get_height()))
        self.barre.render()
        self.balle.render()

    def process_event(self, event: pygame.event):
        if event.type == const.KEYDOWN:
            if event.key == self.controles[HAUT]:
                self.barre.move(HAUT)
            if event.key == self.controles[BAS]:
                self.barre.move(BAS)
        if event.type == const.QUIT:
            self.proceed = False

    def start(self):
        self.prepare()
        clock = pygame.time.Clock()
        done = False
        ball_list = []

        ball = self.balle.make_ball()
        ball_list.append(ball)

        while not done:
            # --- Event Processing
            for event in pygame.event.get():
                self.process_event(event)

                if event.type == pygame.QUIT:
                    done = True
                elif event.type == pygame.KEYDOWN:
                    ball_list.append(ball)

            self.balle.move(self.barre)

            self.update_screen()

            clock.tick(60)

            pygame.display.flip()
Пример #4
0
    def __init__(self, i_fenetre):
        '''
            Définition des variables du constructeur.
        '''

        self.fenetre = i_fenetre  # Stocke les paramètres de la fenêtre.
        self.canevas = tk.Canvas(
            self.fenetre,
            width=self.largeur_fenetre(),
            height=self.hauteur_fenetre(
            ))  # Crée un canvas ( Support de tout les éléments d'affichage. )
        self.canevas.place(x=0, y=0)  # Place le Canvas

        self.raquette = Raquette(self)  # Crée une instance de Raquette.
        self.balle = Balle(self)  # Crée une instance de Balle.
        self.level_id = -1  # Numéro du niveau à charger.
        self.niveau = Level(self,
                            self.level_id)  # Crée une instance du Niveau .
        self.lives = Lives(self, 3,
                           self.largeur_fenetre() / 16,
                           (self.hauteur_fenetre() * 15) /
                           16)  # Crée une instance des Vies.

        self.touche_possible = [
            "q", "d", "Q", "D"
        ]  # Liste des touches qui seront utilisées pour jouer.
        self.touche_options = [
            'plus', 'minus', 'slash'
        ]  # Liste des touches qui seront utilisées pour les options du jeu (Augmenter le taux de rafraîchissement : +, le Diminuer : -, Mettre en place un sol : / ).

        # Capture les événements de la souris.
        self.canevas.bind(
            "<Motion>",
            self.moved)  # Coordonnées du curseur de la souris en abscisse.
        self.canevas.bind("<Button-3>",
                          self.rightClick)  # Si le click droit a été activé.
        self.canevas.bind(
            "<Leave>",
            self.leave)  # Si la souris a quitté le périmètre de la fenêtre.
        self.canevas.bind(
            "<Enter>",
            self.enter)  # Si la souris est entrée le périmètre de la fenêtre.

        # Capture les événements du clavier.
        self.fenetre.bind(
            "<KeyPress>", self.checkKeyPressed
        )  # Active la capture des touches du clavier dans la fenêtre.
        self.resetGame(
        )  # Initialise tout les objets avec leurs paramètres par défaut.
Пример #5
0
class Game:
    def __init__(self, ecran: pygame.Surface):
        self.ecran = ecran
        self.raquette = Raquette(self.ecran)
        self.balle = Balle(self.ecran)
        self.continuer = True
        self.controles = {HAUT: const.K_UP, BAS: const.K_DOWN}

    def prepare(self):
        pygame.key.set_repeat(200, 50)
        self.continuer = True
        self.raquette = Raquette(self.ecran)
        self.balle = Balle(self.ecran)

    def update_screen(self):
        pygame.draw.rect(self.ecran, (0, 0, 0),
                         (0, 0) + self.ecran.get_size())  # on dessine le fond
        pygame.draw.rect(
            self.ecran, (255, 255, 255),
            (self.ecran.get_width() // 2 - 1, 0, 2,
             self.ecran.get_height()))  # la séparation au milieu du terrain
        self.raquette.render()  # on dessine notre raquette
        self.balle.render()  # on dessine notre balle

    def process_event(self, event: pygame.event):
        if event.type == const.KEYDOWN:
            # et revoici l'utilité de nos constantes, utilisées comme clé de dictionnaire :)
            # comme ça on peut plus facilement changer les controles ;)
            if event.key == self.controles[HAUT]:
                self.raquette.move(HAUT)
            if event.key == self.controles[BAS]:
                self.raquette.move(BAS)
        if event.type == const.QUIT:
            self.continuer = False

    def start(self):
        self.prepare()

        while self.continuer:
            for event in pygame.event.get():
                self.process_event(event)

            self.update_screen()

            self.balle.move(self.raquette)  # on déplace notre balle

            pygame.display.flip()
Пример #6
0
    def __init__(self, game):
        super(Game_scene, self).__init__(screen, manager)

        screen_size = self.screen.get_size()
        self.balle = Balle(self.screen,
                           (screen_size[0] / 2, screen_size[1] / 2),
                           speed=0.5)
        self.balle.direction = Direction.DOWN_RIGHT

        barre_size = (5, 64)
        self.barres = (Barre(self.screen, size=barre_size, speed=1),
                       Barre(self.screen,
                             coords=(screen_size[0] - barre_size[0],
                                     screen_size[1] - barre_size[1]),
                             size=barre_size,
                             controls={
                                 Direction.UP: pygame.K_o,
                                 Direction.DOWN: pygame.K_l
                             },
                             speed=1))
Пример #7
0
    def __init__(self):

        self.ecran = pygame.display.set_mode((900, 500))
        pygame.display.set_caption('Jeu Pong')
        self.jeu_encours = True
        self.joueur_1_x, self.joueur_1_y = 20, 250
        self.joueur_2_x, self.joueur_2_y = 860, 250
        self.joueur_taille = [20, 80]
        self.vitesse_y_1, self.vitesse_y_2 = 0, 0
        self.joueur_1 = Joueur(self.joueur_1_x, self.joueur_1_y,
                               self.joueur_taille)
        self.joueur_2 = Joueur(self.joueur_2_x, self.joueur_2_y,
                               self.joueur_taille)
        self.rect = pygame.Rect(0, 0, 900, 500)
        self.balle_direction = [-1, 1]
        self.balle = Balle(450, 250, [10, 10],
                           random.choice(self.balle_direction))
        self.balle_tire = False
        self.balle_vitesse_x, self.balle_vitesse_y = 15, 2
        self.score_1, self.score_2 = 0, 0
Пример #8
0
 def __init__(self, window: pygame.Surface):
     self.window = window
     self.proceed = True
     self.barre = Barre(self.window)
     self.balle = Balle(self.window)
     self.controles = {HAUT: const.K_UP, BAS: const.K_DOWN}
Пример #9
0
 def prepare(self):
     pygame.key.set_repeat(200, 50)
     self.proceed = True
     self.barre = Barre(self.window)
     self.balle = Balle(self.window)
Пример #10
0
class Jeu:
    '''
        Classe pour gérer l'ensemble des intéractions avec le jeu.
    '''
    def __init__(self, i_fenetre):
        '''
            Définition des variables du constructeur.
        '''

        self.fenetre = i_fenetre  # Stocke les paramètres de la fenêtre.
        self.canevas = tk.Canvas(
            self.fenetre,
            width=self.largeur_fenetre(),
            height=self.hauteur_fenetre(
            ))  # Crée un canvas ( Support de tout les éléments d'affichage. )
        self.canevas.place(x=0, y=0)  # Place le Canvas

        self.raquette = Raquette(self)  # Crée une instance de Raquette.
        self.balle = Balle(self)  # Crée une instance de Balle.
        self.level_id = -1  # Numéro du niveau à charger.
        self.niveau = Level(self,
                            self.level_id)  # Crée une instance du Niveau .
        self.lives = Lives(self, 3,
                           self.largeur_fenetre() / 16,
                           (self.hauteur_fenetre() * 15) /
                           16)  # Crée une instance des Vies.

        self.touche_possible = [
            "q", "d", "Q", "D"
        ]  # Liste des touches qui seront utilisées pour jouer.
        self.touche_options = [
            'plus', 'minus', 'slash'
        ]  # Liste des touches qui seront utilisées pour les options du jeu (Augmenter le taux de rafraîchissement : +, le Diminuer : -, Mettre en place un sol : / ).

        # Capture les événements de la souris.
        self.canevas.bind(
            "<Motion>",
            self.moved)  # Coordonnées du curseur de la souris en abscisse.
        self.canevas.bind("<Button-3>",
                          self.rightClick)  # Si le click droit a été activé.
        self.canevas.bind(
            "<Leave>",
            self.leave)  # Si la souris a quitté le périmètre de la fenêtre.
        self.canevas.bind(
            "<Enter>",
            self.enter)  # Si la souris est entrée le périmètre de la fenêtre.

        # Capture les événements du clavier.
        self.fenetre.bind(
            "<KeyPress>", self.checkKeyPressed
        )  # Active la capture des touches du clavier dans la fenêtre.
        self.resetGame(
        )  # Initialise tout les objets avec leurs paramètres par défaut.

    def largeur_fenetre(self) -> int:
        '''
            Fonction qui retourne la valeur de la largeur de la fenêtre.
        '''

        return self.fenetre.winfo_width(
        )  # Retourne la largeur définie dans main.py

    def hauteur_fenetre(self) -> int:
        '''
            Fonction qui retourne la valeur de la hauteur de la fenêtre.
        '''

        return self.fenetre.winfo_height(
        )  # Retourne la heuteur définie dans main.py

    def checkKeyPressed(self, event):
        '''
            Fonction qui vérifie si une touche à été préssée, et si elle est prise en compte par le programme.
        '''
        # print(f"Touche : {event.keysym}") #Affiche toutes les touches préssés.
        if event.keysym == "Escape":  # Si la touche préssée est 'Echap' alors ,
            self.stopGame(
            )  #Le jeu s'arrête (Sortie de la boucle while -> infini)
        if event.keysym in self.touche_possible:  # Si la touche préssée est dans la liste de celles possibles pour le jeu.
            if event.keysym == "q" or event.keysym == "Q":  # Si la touche préssée est la touche 'q' ou 'Q' (dans le cas d'un clavier en mode MAJS )
                self.raquette.goLeft(
                )  # Apelle la fonction qui permet de déplacer la Raquette vers la Gauche.
            elif event.keysym == "d" or event.keysym == "D":  # Si la touche préssée est la touche 'd' ou 'D' (dans le cas d'un clavier en mode MAJS )
                self.raquette.goRight(
                )  # Apelle la fonction qui permet de déplacer la Raquette vers la Droite.
        if event.keysym in self.touche_options:  # Si la touche préssée est dans la liste de celles possibles pour les options.
            if event.keysym == "plus":  # Si la touche préssée est la touche '+'
                self.time_sleep /= 2  # Le taux de rafraîchissement de la fenêtre est augmenté (temps de pause diminué).
                print("Taux de Rafraîchissement : Augmenté"
                      )  # Message qui s'affiche au passage dans la condition.
            elif event.keysym == "minus":  # Si la touche préssée est la touche '-'
                self.time_sleep *= 2  # Le taux de rafraîchissement de la fenêtre est diminué (temps de pause augmenté).
                print("Taux de Rafraîchissement : Diminué"
                      )  # Message qui s'affiche au passage dans la condition.
            elif event.keysym == 'slash':  # Si la touche préssée est la touche '/'
                self.niveau.ground = not self.niveau.ground  # Toggle (= Basculer) le sol à True / False.
                if self.niveau.ground == True:  # Si le sol est à l'état True.
                    print(
                        "Sol Activé"
                    )  # Message qui s'affiche au passage dans la condition.
                else:  # Sinon
                    print(
                        "Sol Désactivé"
                    )  # Message qui s'affiche si le sol est désactivé après passage dans la boucle.

    def moved(self, event):
        '''
            Fonction récupérant les coordonnées en abscisse de la souris et  les attribuants à la raquette.
        '''
        x = event.x  # Capte les coordonées de la souris en abscisse.
        self.raquette.setPosition(
            x
        )  # Attributs les coordonnées en abscisse de la souris captés précédement et les attributs à la Raquette.

    def enter(self, event):
        '''
            Fonction qui gère l'entrée de la souris dans la zone du canvas.
        '''
        x, y = event.x, event.y  # Capture les coordonnées en abscisse, en ordonné et les stockent.
        if y > 0 and y < self.hauteur_fenetre(
        ):  # Si la souris est dans la fenêtre en hauteur alors ,
            self.raquette.setPositionEnter(
                x
            )  # On demande à placer la souris au maximum de la zone du canvas en largeur.

    def leave(self, event):
        '''
            Fonction qui gère la sortie de la souris de la zone du canvas.
        '''
        x, y = event.x, event.y  # Capture les coordonnées en abscisse, en ordonné et les stockent.
        if y > 0 and y < self.hauteur_fenetre(
        ):  # Si la souris est dans la fenêtre en hauteur alors ,
            self.raquette.setPositionLeave(
                x
            )  # On demande à placer la souris au maximum de la zone du canvas en largeur.

    def miseAJour(self):
        '''
            Fonction mettant à jour tout les éléments susceptibles de varier // Sauf les briques (Auto gérées)
        '''

        self.balle.deplacer()  #  Provoque le déplacement de la Balle.
        self.balle.paint()  #  Actualise l'affichage de la Balle.
        self.raquette.paint()  # Actualise l'affichage de la Raquette.
        self.lives.paint()  # Actualise l'affichage de la Vie.

    def stopGame(self):
        '''
            Fonction permettant d'arrêter le jeu.
        '''
        self.running = False  # Sortie de la bouble infini While.
        print("Game Stopped"
              )  # Message qui s'affiche lors de l'appel de cette fonction.

    def getStateGame(self):
        '''
            Fonction permettant d'obtenir l'état du jeu (Pause/Running). 
        '''
        return self.running  # Retourne True si le jeu est en marche, sinon, s'il est arrêté, retourne False.

    def resetGame(self):
        '''
            Réinitialise tout les paramètres par défaut de tout les objets.
        '''
        self.raquette.reset()  # Réinitialise les paramètres de la Raquette.
        self.balle.reset()  # Réinitialise les paramètres de la Balle.
        self.lives.reset()  # Réinitialise les paramètres de la Vie.
        self.niveau.reset()  # Réinitialise les paramètres du Niveau.
        self.time_sleep = 0.01  # Réinitialise les paramètres de temps de pause du jeu.

    def rightClick(self, event):
        '''
            Fonction permettant de rédémarrer le Jeu avec un clic droit si le Jeu est en pause.
        '''
        if self.getStateGame() == False:  # Si le Jeu est en pause alors ,
            self.resetGame(
            )  # L'on réinitialise tout les paramètres par défaut.
            self.startGame()  # L'on rentre dans la boucle infini While.

    def startGame(self):
        '''
            Fonction permattant de démarrer le Jeu.
        '''
        self.running = True  # Passe la condition de la boucle infini While à l'état : True (l'on rentre dans la boucle).

        while self.getStateGame():  # Tant que le Jeu est à l'état True :

            self.miseAJour()  # Mise à jour du jeu.
            self.fenetre.update()  # Mise à jour par l'os de l'affichage.
            sleep(
                self.time_sleep
            )  # Temps d'arrêt entre chaque rafraîchissement de l'écran qui est défini par : self.time_sleep .
Пример #11
0
 def __init__(self, ecran: pygame.Surface):
     self.ecran = ecran
     self.raquette = Raquette(self.ecran)
     self.balle = Balle(self.ecran)
     self.continuer = True
     self.controles = {HAUT: const.K_UP, BAS: const.K_DOWN}
Пример #12
0
 def prepare(self):
     pygame.key.set_repeat(200, 50)
     self.continuer = True
     self.raquette = Raquette(self.ecran)
     self.balle = Balle(self.ecran)
Пример #13
0
class Jeu:
    def __init__(self):
        self.en_jeu = True
        self.balle = Balle()
        self.raquette = Raquette()
        self.niveau = Niveau()
        self.vie = NOMBRE_VIES
        self.score = 0
        self.briques_touchees = 0

    def gestion_evenements(self):
        for event in pygame.event.get():
            if event.type == pygame.QUIT: sys.exit()
            elif event.type == pygame.MOUSEBUTTONDOWN:
                if event.button == 1:
                    if self.balle.sur_raquette:
                        self.balle.sur_raquette = False
                        self.balle.vitesse_par_angle(60)
                    if self.en_jeu == False:
                        self.vie = NOMBRE_VIES
                        self.niveau.en_cours = 1
                        self.score = 0
    
    def mise_a_jour(self):
        x, y = pygame.mouse.get_pos()
        self.balle.deplacer(self.raquette)
        if self.balle.loose:
            self.vie -= 1
            self.balle.loose = False
        prec = False
        for brique in self.niveau.brique_liste:
            if brique.en_vie():
                collision = brique.collision_balle(self.balle,prec)
                if collision[0]:
                    if not(prec):
                        if brique.vie > 0:
                            jouer_son("touche")
                        else:
                            jouer_son("score")
                    if collision[0] and not(collision[1]) :
                        self.score += 1
                        self.raquette.arc_en_ciel = True
                        self.briques_touchees += 1
                    prec = True
        self.raquette.deplacer(x)
        self.en_jeu = True

    def affichage(self):
        screen.fill(COULEURS["NOIR"])
        afficher_murs()
        afficher_ATH(self)
        self.balle.afficher()
        self.raquette.afficher()
        self.niveau.afficher()

    def game_over(self):
        screen.fill(COULEURS["NOIR"])
        if jeu.vie == 0 :
            texte, rect = myfont.render("GAME OVER", (255,255,255), size = monitorwidth/15)
        else :
            texte, rect = myfont.render("GAME WIN", (255,255,255), size = monitorwidth/15)
        rect.center = (int(width/2), int(height/2))
        screen.blit(texte, rect)
        texte, rect = myfont.render("SCORE : " + str(self.score), (255,255,255), size = monitorwidth/38)
        rect.midtop = (int(width/2), int(height/5*3))
        screen.blit(texte, rect)
        texte, rect = myfont.render("NIVEAU : " + str(self.niveau.en_cours-1), (255,255,255), size = monitorwidth/38)
        rect.midbottom = (int(width/2), int(height/5*2))
        screen.blit(texte, rect)
        self.en_jeu = False
Пример #14
0
class Jeu:
    def __init__(self):

        self.ecran = pygame.display.set_mode((900, 500))
        pygame.display.set_caption('Jeu Pong')
        self.jeu_encours = True
        self.joueur_1_x, self.joueur_1_y = 20, 250
        self.joueur_2_x, self.joueur_2_y = 860, 250
        self.joueur_taille = [20, 80]
        self.vitesse_y_1, self.vitesse_y_2 = 0, 0
        self.joueur_1 = Joueur(self.joueur_1_x, self.joueur_1_y,
                               self.joueur_taille)
        self.joueur_2 = Joueur(self.joueur_2_x, self.joueur_2_y,
                               self.joueur_taille)
        self.rect = pygame.Rect(0, 0, 900, 500)
        self.balle_direction = [-1, 1]
        self.balle = Balle(450, 250, [10, 10],
                           random.choice(self.balle_direction))
        self.balle_tire = False
        self.balle_vitesse_x, self.balle_vitesse_y = 15, 2
        self.score_1, self.score_2 = 0, 0

    def boucle_principale(self):

        while self.jeu_encours:

            for event in pygame.event.get():

                if event.type == pygame.QUIT:

                    sys.exit()

                if event.type == pygame.KEYDOWN:
                    if event.key == pygame.K_UP:
                        self.vitesse_y_1 = -10
                    if event.key == pygame.K_DOWN:
                        self.vitesse_y_1 = 10

                    if event.key == pygame.K_w:
                        self.vitesse_y_2 = -10
                    if event.key == pygame.K_s:
                        self.vitesse_y_2 = 10
                    if event.key == pygame.K_SPACE:
                        self.balle_tire = True

                if event.type == pygame.KEYUP:
                    if event.key == pygame.K_UP:
                        self.vitesse_y_1 = 0
                    if event.key == pygame.K_DOWN:
                        self.vitesse_y_1 = 0

                    if event.key == pygame.K_w:
                        self.vitesse_y_2 = 0
                    if event.key == pygame.K_s:
                        self.vitesse_y_2 = 0

            self.joueur_1.mouvement(self.vitesse_y_1)
            self.joueur_2.mouvement(self.vitesse_y_2)
            self.joueur_1.rect.clamp_ip(self.rect)
            self.joueur_2.rect.clamp_ip(self.rect)
            if self.balle_tire:
                self.balle.mouvement(self.balle_vitesse_x,
                                     self.balle_vitesse_y)

            if self.joueur_1.rect.colliderect(
                    self.balle.rect) or self.joueur_2.rect.colliderect(
                        self.balle.rect):
                self.balle_vitesse_x = self.changement_direction_balle(
                    self.balle_vitesse_x, 0)
                self.balle_vitesse_y = self.changement_direction_balle(
                    self.balle_vitesse_y, 60)
                self.balle.vitesse_aleatoire_y = random.randint(1, 7)
            if self.balle.rect.top <= 0 or self.balle.rect.bottom >= 500:
                self.balle_vitesse_y = self.changement_direction_balle(
                    self.balle_vitesse_y, 0)

            if self.balle.rect.right >= 915:
                self.balle.rect.x, self.balle.rect.y = 450, 250
                self.score_1 += 1
                self.balle_tire = False
            if self.balle.rect.left <= -15:
                self.balle.rect.x, self.balle.rect.y = 450, 250
                self.score_2 += 1
                self.balle_tire = False
            self.balle.rect.clamp_ip(self.rect)
            self.ecran.fill((50, 50, 50))
            self.creer_message('grande', f"Jeu Pong", [300, 50, 20, 20],
                               (255, 255, 255))
            self.creer_message('grande', f" { self.score_1 }",
                               [300, 200, 50, 50], (255, 255, 255))
            self.creer_message('grande', f" { self.score_2 }",
                               [485, 200, 50, 50], (255, 255, 255))
            if self.balle_tire is False:
                self.creer_message(
                    'petite', f" Appuyer Sur Espace Pour Commencer Le Jeu",
                    [30, 100, 300, 50], (255, 255, 255))

            self.balle.afficher(self.ecran)
            self.joueur_1.afficher(self.ecran)
            self.joueur_2.afficher(self.ecran)
            pygame.display.flip()

    def changement_direction_balle(self, vitesse, angle):

        vitesse = -(vitesse * math.cos(angle))

        return vitesse

    def creer_message(self, font, message, message_rectangle, couleur):

        if font == 'petite':
            font = pygame.font.Font(
                '/Users/karimsadiki/Desktop/Pong Game/ATARCC__.TTF', 20)

        if font == 'moyenne':
            font = pygame.font.Font(
                '/Users/karimsadiki/Desktop/Pong Game/ATARCC__.TTF', 30)

        if font == 'grande':

            font = pygame.font.Font(
                '/Users/karimsadiki/Desktop/Pong Game/ATARCC__.TTF', 40)

        message = font.render(message, True, couleur)
        self.ecran.blit(message, message_rectangle)
Пример #15
0
 def spawn_balle(self,vit):
     if self.balle_vie > 0:
         self.balle = Balle(self,vit)
         self.all_balles.append(self.balle)