From c83a7042cea05c580be50435756964854644af32 Mon Sep 17 00:00:00 2001 From: "laneury.a" <> Date: Wed, 26 Mar 2025 21:19:46 +0100 Subject: [PATCH] continuite --- main.py | 108 ++++++++++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 89 insertions(+), 19 deletions(-) diff --git a/main.py b/main.py index fa4e8fe..18a7da5 100644 --- a/main.py +++ b/main.py @@ -1,17 +1,20 @@ """ Jeu cars and run 2D - -Script python: +lien du tuto http://sdz.tdct.org/sdz/interface-graphique-pygame-pour-python.html +lien pour faire des images pixeliser : pixilart.com +Script python:main, classes, constantes """ import pygame from pygame.locals import * from constantes import * +from classes import * +from random import randint pygame.init() #ouverture de la fenetre fenetre = pygame.display.set_mode((largeur_fenetre, hauteur_fenetre)) -fenetre.fill((0,128,255)) +fenetre.fill((0,0,0)) #Icone icone = pygame.image.load(image_icone) @@ -20,27 +23,94 @@ pygame.display.set_icon(icone) #Titre pygame.display.set_caption(titre_fenetre) +lst_elements = [] - +#BOUCLE PRINCIPALE continuer = 1 - while continuer: - for event in pygame.event.get(): #Attente des événements - if event.type == QUIT: - continuer = 0 - - #BOUCLE DE JEU: - if event.type == KEYDOWN: - + + accueil = Image(fenetre, image_acceuil, 0, 0) + #lst_elements.append(accueil)#il me semble quepas besoin de ca + + #Rafraichissement + pygame.display.flip() + + continuer_jeu, continuer_accueil = 1, 1 #On remet ces variables à 1 à chaque tour de boucle + + #BOUCLE D'ACCUEIL + while continuer_accueil: + pygame.time.Clock().tick(30) #Limitation de vitesse de la boucle + + for event in pygame.event.get(): + + if event.type == QUIT or event.type == KEYDOWN and event.key == K_ESCAPE: + continuer_accueil,continuer_jeu,continuer = 0,0,0#Si l'utilisateur quitte, on met les variables de boucle à 0 pour n'en parcourir aucune et fermer + + choix = 0 #Variable de choix du niveau + + elif event.type == KEYDOWN: + + if event.key == K_F1: #Lancement du niveau 1 + continuer_accueil = 0#On quitte l'accueil + choix = 'n1'#On définit le niveau à charger + + elif event.key == K_F2: #Lancement du niveau 2 + continuer_accueil = 0 + choix = 'n2' + + + if choix == 'n1': #on vérifie que le joueur a bien fait un choix de niveau pour ne pas charger s'il quitte + accueil = Image(fenetre, image_acceuil, 0, 0) + lst_elements.append(accueil) + + for i in range (5): + b, c = randint(0,1280), randint(0,300) + print(b,c) + nuage = Image(fenetre, img_n1, b, c) + lst_elements.append(nuage) + + lst_goudron, a = [],0 + for i in range (2): + goudron = Image(fenetre, img_goudron, a, 720/2) + lst_elements.append(goudron) + lst_goudron.append(goudron) + a = a + 2163 - if event.key == K_F1: - #boucle acceuil - fenetre.fill((0,0,0)) - if event.key == K_F1: - #boucle niveau - pass + lst_barriere, a = [],0 + for i in range (3): + barriere = Image(fenetre, img_barriere, a, 720/2) + lst_elements.append(barriere) + a = a + 844 + voiture = Image(fenetre, img_e30,0 ,0 ) + lst_elements.append(voiture) - pygame.display.flip() + #BOUCLE DE JEU + while continuer_jeu: + pygame.time.Clock().tick(30) #Limitation de vitesse de la boucle + for event in pygame.event.get(): + + if event.type == QUIT: + continuer_jeu = 0 #Si l'utilisateur quitte, on met la variable qui continue le jeu + continuer = 0 #ET la variable générale à 0 pour fermer la fenêtre + + elif event.type == KEYDOWN: + if event.key == K_ESCAPE: + continuer_jeu = 0 #Si l'utilisateur presse Echap ici, on revient seulement au menu + + elif event.key == K_UP: #Touches de déplacement de voiture + lst_elements[2].translater('y',"haut",10)#deplace pas la voiture + elif event.key == K_DOWN: + lst_elements[2].translater('y',"bas",10) + + for i in range(1,6): + print(i) + lst_elements[i].translater("x", "gauche", 5) + + for element in lst_elements: + element.maj() + pygame.display.flip() + + pygame.display.flip() pygame.quit() \ No newline at end of file