import pygame, os, sys from pygame.locals import * import random import time from tkinter import * from tkinter.messagebox import * Mafenetre=Tk() Mafenetre.title("La Planche D'Angry Birds") text4=Label(Mafenetre,text="Bienvenue ! Remplissez les paramètres suivants:") text4.pack() # Le cadre cadre=Frame(Mafenetre,bg ='#ff9900', bd =4, relief =FLAT) cadre.pack(padx=5,pady=10) # Les textes text1=Label(cadre,text=" Choisir un nombre de billes entre 100 et 1000 ") text2=Label(cadre,text=" Nombre de rangées de clous entre 5 et 10 ") text3=Label(cadre,text=" Vitesse : Moyenne ") photo = PhotoImage(file ='jouer1.gif') photo1 = PhotoImage(file ='fermer.gif') nombrebille=StringVar() champbille=Entry(cadre,textvariable=nombrebille) nbrangees=StringVar() champclou=Entry(cadre,textvariable=nbrangees) # Le placement text1.grid(row=0,column=0) text2.grid(row=1,column=0) text3.grid(row=2,column=0) champbille.grid(row=0,column=1) champclou.grid(row=1,column=1) n=nbrangees.get() b=nombrebille.get() boutonjouer=Button(Mafenetre, image=photo, command=Mafenetre.destroy) boutonjouer.pack() Mafenetre.mainloop() pygame.init() pygame.display.init() #Ouverture de la fenêtre Pygame n=int(nbrangees.get()) b=int(nombrebille.get()) vitesse=[0,1] fenetre = pygame.display.set_mode((1280, 850 )) #Chargement et collage du fond fond = pygame.image.load("blanc1.jpg").convert_alpha() billee=pygame.image.load("bille3.png").convert_alpha() #Chargement et collage des personnages ( billes + clous ) class Bille(): def __init__(self, x=650, y=260, bille="bille3.png", speed=vitesse, billerect=billee.get_rect()): self.img = pygame.image.load(bille).convert_alpha() self.rect = billerect self.x=x self.y=y self.speed = vitesse def collision_bille(): #Mouvement aléatoire de la bille for i in range(0,len(pos)): if (billerect.x,billerect.y) == (pos[i][0]*40+650,pos[i][1]*40+320) : self.cote=random.randint(0,1) if self.cote==1: self.speed[0]=-1 else: self.speed[0]=1 #Pour que la bille ne se déplace que verticalement arrivé au milieu des deux clous de la rangée finale. if self.billerect.y == self.pos[0][1]*40+360 : self.speed[0]=0 def creationbilles(b): for i in range (1,b+1): i=Bille() #bille = pygame.image.load("bille3.png").convert_alpha() #billerect=bille.get_rect() #billerect.x=650 #billerect.y=260 clou = pygame.image.load("cochon3.png").convert_alpha() def placementclous(n): global pos pos=[] for i in range(0,n): pos.append((-(n-1)+2*i,n-1)) l=[1] j=1 for e in range(n,2,-1): j=j+e l.append(j) for i in range (0,n-1): for e in range (l[i],len(pos)): pos.append ((pos[e][0]-1,pos[e][1]-1)) fenetre.blit(fond,(0,0)) for i in range(0,len(pos)): fenetre.blit(clou, (pos[i][0]*40+650,pos[i][1]*40+350)) #posfinales=[] # POUR JEREMY, OBTENIR LE X DE LA BILLE POUR FAIRE L'HISTO ! #for i in range (0,b): # if billerect.y == pos[0][1]*40+350: # posfinales.append(billerect.x) #BOUCLE INFINIE continuer=1 while continuer==1: for event in pygame.event.get(): if event.type==pygame.KEYDOWN: if event.type==pygame.K_ESCAPE: continuer=0 break elif event.type==pygame.QUIT: continuer=0 break creationbilles(b) placementclous(n) pygame.display.flip() pygame.time.delay(10) pygame.quit()