Browse Source

nouvelle classe

master
laneury.a 2 weeks ago
parent
commit
1b4bf03303
  1. 72
      classes.py
  2. 40
      main.py

72
classes.py

@ -3,79 +3,53 @@ from pygame.locals import *
from random import randint from random import randint
class Image(): class Image():
def __init__ (self, fenetre, chm_acces, pos_x, pos_y): def __init__ (self, fenetre, chm_acces, pos_x, pos_y, long, larg):
self.fenetre = fenetre self.fenetre = fenetre
self.chm_acces = chm_acces self.chm_acces = chm_acces
self.pos_x = pos_x self.pos_x = pos_x
self.pos_y = pos_y self.pos_y = pos_y
self.image = pygame.image.load(self.chm_acces).convert_alpha() self.image = pygame.image.load(self.chm_acces).convert_alpha()
self.fenetre.blit(self.image, (self.pos_x, self.pos_y)) self.long = long
self.larg = larg
self.maj(3)
def translater (self,axe, sens, vitesse): def translater (self,axe, sens, vitesse):
self.axe = axe if axe == "x":
self.sens = sens
self.vitesse = vitesse
if self.axe == "x":
if sens == "gauche": if sens == "gauche":
self.pos_x = self.pos_x - self.vitesse self.pos_x = self.pos_x - vitesse
else: else:
self.pos_x = self.pos_x + self.vitesse self.pos_x = self.pos_x + vitesse
else: else:
if sens == "haut": if sens == "haut":
self.pos_y = self.pos_y - self.vitesse self.pos_y = self.pos_y - vitesse
else: else:
self.pos_y = self.pos_y + self.vitesse self.pos_y = self.pos_y + vitesse
self.fenetre.blit(self.image, (self.pos_x, self.pos_y)) self.maj(3)
def maj(self): def maj(self, nbr):
if self.pos_x <= -self.long :
self.pos_x = self.pos_x + self.long * nbr
self.fenetre.blit(self.image, (self.pos_x,self.pos_y)) self.fenetre.blit(self.image, (self.pos_x,self.pos_y))
def verifier(self, long, nbr):
print("ici")
if self.pos_x <= -long :
self.pos_x = self.pos_x + long * nbr
class Calques(): class GroupeImage():
def __init__ (self, fenetre): def __init__ (self, fenetre):
self.fenetre = fenetre self.fenetre = fenetre
self.lst_calques = [] self.lst = []
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): def creer_Image(self, chm_acces, pos_x, pos_y, long, larg):
self.lst.append(Image(self.fenetre, chm_acces, pos_x, pos_y, long, larg))
for element in self.lst_calques[i_calque]: def avancer(self, vitesse):
element.maj() for image in self.lst:
image.translater("x", "gauche", vitesse)
def affiche(self):
for image in self.lst:
image.maj(len(self.lst))

40
main.py

@ -29,7 +29,7 @@ lst_elements = []
continuer = 1 continuer = 1
while continuer: while continuer:
accueil = Image(fenetre, image_acceuil, 0, 0) accueil = Image(fenetre, image_acceuil, 0, 0, 205, 205)
#lst_elements.append(accueil)#il me semble quepas besoin de ca #lst_elements.append(accueil)#il me semble quepas besoin de ca
#Rafraichissement #Rafraichissement
@ -61,19 +61,23 @@ 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 if choix == 'n1': #on vérifie que le joueur a bien fait un choix de niveau pour ne pas charger s'il quitte
monde = Calques(fenetre) fonds = GroupeImage(fenetre)
fonds.creer_Image(img_bg, 0, 0, 290, 57)
fonds.creer_Image(img_goudron, 0, 360, 205, 205)
monde.ajouter_calque("c_fond")#0 nuages = GroupeImage(fenetre)
monde.ajouter_element("fond", 0, img_bg, 0, 0) nuages.creer_Image(img_n1, 1280, 0, 290, 57)
monde.ajouter_element("route", 0, img_goudron, 0, 360) nuages.creer_Image(img_n2, 1280, 59, 248, 58)
monde.ajouter_calque("c_paysage")#2 barrieres = GroupeImage(fenetre)
monde.ajouter_element("nuage", 1, img_n1, 1280, 0) barrieres.creer_Image(img_barriere, 0, 360, 844, 40)
barrieres.creer_Image(img_barriere, 844, 360, 844, 40)
barrieres.creer_Image(img_barriere, 844+844, 360, 844, 40)
monde.ajouter_calque("c_elem_route")
monde.ajouter_element("barriere", 2, img_barriere, 0, 360)
monde.ajouter_element("barriere", 2, img_barriere, 844, 360) voitures = GroupeImage(fenetre)
monde.ajouter_element("barriere", 2, img_barriere, 1688, 360) voitures.creer_Image(img_e30, 50, 360, 205, 205)
pygame.display.flip() pygame.display.flip()
@ -85,14 +89,16 @@ while continuer:
#BOUCLE DE JEU #BOUCLE DE JEU
while continuer_jeu: while continuer_jeu:
pygame.time.Clock().tick(30) #Limitation de vitesse de la boucl
nuages.avancer(10)
barrieres.avancer(10)
#pygame.time.Clock().tick(30) #Limitation de vitesse de la boucl
monde.deplacer_calque(1,"x", "gauche", 3, 20,1) fonds.affiche()
monde.deplacer_calque(2,"x", "gauche", 3, 844, 3) nuages.affiche()
monde.maj_calque(0) barrieres.affiche()
monde.maj_calque(1) voitures.affiche()
monde.maj_calque(2)
for event in pygame.event.get(): for event in pygame.event.get():

Loading…
Cancel
Save