Browse Source

Mise à jour de 'app.py'

master
Treacky 1 month ago
parent
commit
714fc8c2ee
  1. 42
      app.py

42
app.py

@ -6,11 +6,11 @@ SCREEN_WIDTH = 128
SCREEN_HEIGHT = 128 SCREEN_HEIGHT = 128
BIRD_SIZE = 8 BIRD_SIZE = 8
PIPE_WIDTH = 16 PIPE_WIDTH = 16
PIPE_GAP = 50 # Modifié de 30 à 50
BIRD_GRAVITY = 0.4 # Modifié de 0.5 à 0.4 BIRD_GRAVITY = 0.4 # Modifié de 0.5 à 0.4
BIRD_LIFT = -4 # Modifié de -6 à -4 BIRD_LIFT = -4 # Modifié de -6 à -4
PIPE_SPEED = 1 PIPE_SPEED = 1
PIPE_FREQ = 60 PIPE_FREQ = 60
PIPE_GAP = 50 # Valeur par défaut (sera modifiée selon la difficulté)
class FlappyBirdGame: class FlappyBirdGame:
def __init__(self): def __init__(self):
@ -25,10 +25,12 @@ class FlappyBirdGame:
self.game_over = False self.game_over = False
self.game_started = False # Ajout de l'état de début du jeu self.game_started = False # Ajout de l'état de début du jeu
self.passed_pipes = [] # Suivi des tuyaux déjà passés 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) pyxel.run(self.update, self.draw)
def update(self): def update(self):
if self.game_over: if self.game_over or not self.difficulty_selected:
return return
self.frame += 1 self.frame += 1
@ -85,6 +87,14 @@ class FlappyBirdGame:
def draw(self): def draw(self):
pyxel.cls(0) # Effacer l'écran 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 # 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 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: 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 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__": if __name__ == "__main__":
FlappyBirdGame() FlappyBirdGame()

Loading…
Cancel
Save