From 714fc8c2eec7d28eaf4b86668a8168d1980f93b0 Mon Sep 17 00:00:00 2001 From: Treacky Date: Thu, 5 Dec 2024 15:36:44 +0100 Subject: [PATCH] =?UTF-8?q?Mise=20=C3=A0=20jour=20de=20'app.py'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app.py | 42 ++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 40 insertions(+), 2 deletions(-) diff --git a/app.py b/app.py index 7a8a53c..666e24d 100644 --- a/app.py +++ b/app.py @@ -6,11 +6,11 @@ SCREEN_WIDTH = 128 SCREEN_HEIGHT = 128 BIRD_SIZE = 8 PIPE_WIDTH = 16 -PIPE_GAP = 50 # Modifié de 30 à 50 BIRD_GRAVITY = 0.4 # Modifié de 0.5 à 0.4 BIRD_LIFT = -4 # Modifié de -6 à -4 PIPE_SPEED = 1 PIPE_FREQ = 60 +PIPE_GAP = 50 # Valeur par défaut (sera modifiée selon la difficulté) class FlappyBirdGame: def __init__(self): @@ -25,10 +25,12 @@ class FlappyBirdGame: self.game_over = False self.game_started = False # Ajout de l'état de début du jeu self.passed_pipes = [] # Suivi des tuyaux déjà passés + self.difficulty_selected = False # Indicateur si la difficulté a été choisie + self.difficulty = "easy" # Valeur par défaut pyxel.run(self.update, self.draw) def update(self): - if self.game_over: + if self.game_over or not self.difficulty_selected: return self.frame += 1 @@ -85,6 +87,14 @@ class FlappyBirdGame: def draw(self): pyxel.cls(0) # Effacer l'écran + # Si le menu de sélection de difficulté est actif + if not self.difficulty_selected: + self.draw_menu() + return + + # Dessiner le fond + pyxel.blt(0, 0, 0, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT, 0) # Dessiner l'arrière-plan complet (ciel, nuages, sol) + # Dessiner l'oiseau en utilisant l'image du sprite dans le fichier .pyxres pyxel.blt(self.bird_x, self.bird_y, 0, 0, 0, 8, 8, 0) # Le 0,0 ici représente la position du sprite dans le fichier pyxres @@ -105,5 +115,33 @@ class FlappyBirdGame: if not self.game_started: pyxel.text(SCREEN_WIDTH // 2 - 50, SCREEN_HEIGHT // 2, "Press SPACE to Start", 8) # Afficher le texte sans centrage automatique + def draw_menu(self): + # Affichage du menu de sélection de la difficulté + pyxel.text(SCREEN_WIDTH // 2 - 50, SCREEN_HEIGHT // 3, "Select Difficulty", 7) + pyxel.text(SCREEN_WIDTH // 2 - 50, SCREEN_HEIGHT // 2, "1. Easy", 7) + pyxel.text(SCREEN_WIDTH // 2 - 50, SCREEN_HEIGHT // 2 + 10, "2. Medium", 7) + pyxel.text(SCREEN_WIDTH // 2 - 50, SCREEN_HEIGHT // 2 + 20, "3. Hard", 7) + + # Attente d'une entrée de l'utilisateur pour choisir la difficulté + if pyxel.btnp(pyxel.KEY_1): + self.difficulty = "easy" + self.set_difficulty("easy") + elif pyxel.btnp(pyxel.KEY_2): + self.difficulty = "medium" + self.set_difficulty("medium") + elif pyxel.btnp(pyxel.KEY_3): + self.difficulty = "hard" + self.set_difficulty("hard") + + def set_difficulty(self, difficulty): + global PIPE_GAP + if difficulty == "easy": + PIPE_GAP = 70 + elif difficulty == "medium": + PIPE_GAP = 50 + elif difficulty == "hard": + PIPE_GAP = 30 + self.difficulty_selected = True # La difficulté a été choisie, commencer le jeu + if __name__ == "__main__": FlappyBirdGame()