diff --git a/classes.py b/classes.py index 384fa9c..c4ff8e4 100644 --- a/classes.py +++ b/classes.py @@ -1,5 +1,6 @@ import pygame from pygame.locals import * +from random import randint class Image(): def __init__ (self, fenetre, chm_acces, pos_x, pos_y): @@ -30,19 +31,51 @@ class Image(): self.fenetre.blit(self.image, (self.pos_x, self.pos_y)) - def maj(self): self.fenetre.blit(self.image, (self.pos_x,self.pos_y)) - def verifier(self): - pass - -""" -class Groupeimage(): - def __init__ (self, fenetre,): - - - def maj(self): + def verifier(self, long, nbr): + print("ici") + if self.pos_x <= -long : + self.pos_x = self.pos_x + long * nbr + +class Calques(): + def __init__ (self, fenetre): + self.fenetre = fenetre + self.lst_calques = [] + + def ajouter_calque(self,pos_calque): + #pos_calque vas permettre de choisir la position du calque parmis les autres calques - pas encore fncelle + #pr le moment le calque se rajoute a la fin + self.calque = [] + self.lst_calques.append(self.calque) + + def ajouter_element(self, nom, i_calque, chm_acces, pos_x, pos_y): + self.nom = nom + self.chm_acces = chm_acces + self.pos_x = pos_x + self.pos_y = pos_y + + self.nom = Image(self.fenetre, self.chm_acces, self.pos_x, self.pos_y) + self.lst_calques[i_calque].append(self.nom) + + print(self.lst_calques) + def deplacer_calque(self, i_calque, axe, sens, vitesse, size, nbr): + self.axe = axe + self.sens = sens + self.vitesse = vitesse -""" + for element in self.lst_calques[i_calque]: + self.nom.verifier(size,nbr) + element.translater(self.axe, self.sens, self.vitesse) + print(self.nom.pos_x) + + def maj_calque(self, i_calque): + + for element in self.lst_calques[i_calque]: + element.maj() + + + + \ No newline at end of file diff --git a/constantes.py b/constantes.py index 0524835..d165134 100644 --- a/constantes.py +++ b/constantes.py @@ -6,12 +6,13 @@ hauteur_fenetre = 720 image_icone = "image/icone.png" titre_fenetre = "Cars and Run 2D" -image_acceuil = "image/paysages/bg.jpg" +image_acceuil = "image/paysages/acc.png" img_bg = "image/paysages/bg.jpg" +img_bg_nuit = "image/paysages/bg_nuit.jpg" -img_goudron = "image/paysages/goudron_test.png" +img_goudron = "image/paysages/goudron.png" img_barriere = "image/paysages/barriere.png" img_lgn_continu = "image/paysages/lgn_continu.png" img_lgn_discontinu = "image/paysages/lgn_discontinu.png" diff --git a/main.py b/main.py index 18a7da5..3e39564 100644 --- a/main.py +++ b/main.py @@ -28,7 +28,7 @@ lst_elements = [] #BOUCLE PRINCIPALE continuer = 1 while continuer: - + accueil = Image(fenetre, image_acceuil, 0, 0) #lst_elements.append(accueil)#il me semble quepas besoin de ca @@ -60,35 +60,40 @@ while continuer: 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) + monde = Calques(fenetre) + + monde.ajouter_calque("c_fond")#0 + monde.ajouter_element("fond", 0, img_bg, 0, 0) + monde.ajouter_element("route", 0, img_goudron, 0, 360) + + monde.ajouter_calque("c_paysage")#2 + monde.ajouter_element("nuage", 1, img_n1, 1280, 0) + + monde.ajouter_calque("c_elem_route") + monde.ajouter_element("barriere", 2, img_barriere, 0, 360) + monde.ajouter_element("barriere", 2, img_barriere, 844, 360) + monde.ajouter_element("barriere", 2, img_barriere, 1688, 360) + + pygame.display.flip() + + if choix == 'n2': + + monde = Paysage(fenetre, img_bg_nuit, img_n2, img_goudron, img_barriere) + monde.creer_monde() + pygame.display.flip() - 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 - - 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) - #BOUCLE DE JEU while continuer_jeu: - pygame.time.Clock().tick(30) #Limitation de vitesse de la boucle + #pygame.time.Clock().tick(30) #Limitation de vitesse de la boucl + + monde.deplacer_calque(1,"x", "gauche", 3, 20,1) + monde.deplacer_calque(2,"x", "gauche", 3, 844, 3) + monde.maj_calque(0) + monde.maj_calque(1) + monde.maj_calque(2) + for event in pygame.event.get(): if event.type == QUIT: @@ -98,18 +103,11 @@ while continuer: 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()