""" Jeu cars and run 2D 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((200,200,200)) #Icone icone = pygame.image.load(image_icone) pygame.display.set_icon(icone) #Titre pygame.display.set_caption(titre_fenetre) lst_elements = [] #BOUCLE PRINCIPALE# continuer = 1 while continuer: accueil = Image(fenetre, image_acceuil, 0, 0, 205, 205) accueil.maj() pygame.display.flip()#Rafraichissement continuer_jeu, continuer_accueil, continuer_garage = 1, 1, 1 #On remet ces variables à 1 à chaque tour de boucle#cavapas!!!!!!!!!! #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, continuer_accueil, continuer_garage, continuer_jeu = 0,0,0,0 #Si l'utilisateur quitte, on met les variables de boucle à 0 pour n'en parcourir aucune et fermer elif event.type == KEYDOWN: continuer_accueil = 0 #BOUCLE DE GARAGE# while continuer_garage: pygame.time.Clock().tick(30) #Limitation de vitesse de la boucle garage = Image(fenetre, img_garage, 0, -130, 205, 205) garage.maj() #voiture = pygame.display.flip()#Rafraichissement for event in pygame.event.get(): if event.type == QUIT: continuer, continuer_accueil, continuer_garage, continuer_jeu = 0,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_ESCAPE: continuer_garage, continuer_jeu = 0, 0 choix = 0 if event.key == K_F1: #Lancement du niveau 1 continuer_garage = 0#On quitte l'accueil choix = 'n1'#On définit le niveau à charger if choix == 'n1': #on vérifie que le joueur a bien fait un choix de niveau pour ne pas charger s'il quitte fonds = GroupeImage(fenetre) fonds.creer_Image(img_bg, 0, 0, 290, 57) fonds.creer_Image(img_goudron, 0, 360, 205, 205) lst_nuages = [img_n1, img_n2, img_n3, img_n4, img_n5, img_n6,img_n7] nuages = GroupeImage(fenetre) nuages.creer_Image(lst_nuages[randint(0,6)], 1280, 0, 290, 57)#(chm_acces, pos_x, pos_y, long, larg) nuages.creer_Image(lst_nuages[randint(0,6)], 1280, 59, 248, 58) barrieres = GroupeImage(fenetre) barrieres.creer_Image(img_barriere, 0, 360, 844, 40) barrieres.creer_Image(img_barriere, 844, 360, 844, 40) barrieres.creer_Image(img_barriere, 1688, 360, 844, 40) ligne_ac = GroupeImage(fenetre) ligne_ac.creer_Image(img_lgn_discontinu, 0, 500, 104, 5)#(chm_acces, pos_x, pos_y, long, larg) ligne_ac.creer_Image(img_lgn_discontinu, 640, 500, 104, 5) voitures = GroupeImage(fenetre) voitures.creer_Image(img_e30, 50, 360, 205, 205) fonds.affiche() nuages.affiche() barrieres.affiche() ligne_ac.affiche() voitures.affiche() pygame.display.flip() #BOUCLE DE JEU while continuer_jeu: pygame.time.Clock().tick(30) #Limitation de vitesse de la boucle nuages.avancer(10,205) barrieres.avancer(10,0) ligne_ac.avancer(10,1280-104) fonds.affiche() nuages.affiche() barrieres.affiche() ligne_ac.affiche() voitures.affiche() 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, continuer_accueil = 0,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) pygame.display.flip() pygame.display.flip() pygame.quit()