def jouer(self): ##### PARAMETRES DE LA FENETRE ##### size = width, height = 1024,768 screen = pygame.display.set_mode(size, pygame.FULLSCREEN) pygame.mouse.set_visible(False) ##### COMPTEURS ##### distanceTemp = 0 distance = 2 distanceLevelTemp = 0 level = 1 ##### EXPLOSIONS ##### imagesTemp = [(pygame.transform.scale(pygame.image.load("images/ingame/explosion/explosion"+str(compt)+".png"), (70, 70)), 0.6) for compt in range(2,6)] animObj = pyganim.PygAnimation(imagesTemp, loop=False) imagesTemp = [(pygame.image.load("images/ingame/reachedRecord3.png"), 0.15), (pygame.image.load("images/ingame/reachedRecord2.png"),0.15), (pygame.image.load("images/ingame/reachedRecord1.png"),0.4)] animReachedRecord = pyganim.PygAnimation(imagesTemp, loop=False) ##### IMAGES DU BACKGROUND ##### background = pygame.image.load("images/background/background.jpg") i=0 isRecordBattu=False ##### JOUEUR ##### monVaisseau = Ship.ship([20, 0], self.player) monVaisseau.raiseChaleurMax(self.player.additionalMissiles) '''self.player.updateShopStateList(3,-1)''' if self.player.shopStateList[3]==1: monVaisseau.versionCanon=4 elif self.player.shopStateList[2]==1: monVaisseau.versionCanon=3 elif self.player.shopStateList[1]==1: monVaisseau.versionCanon=2 else: monVaisseau.versionCanon=1 if self.player.shopStateList[4]==1: monVaisseau.boosterOn = True if self.player.shopStateList[5]==1: monVaisseau.spoilerOn = True ##### MUSIQUE ##### if self.player.musicOn: self.music.play(-1) ##### MENU COMMENCER ##### menuStartOn=True musicAfterRecord = False '''################################################################## '' '' BOUCLE DE JEU '' '' (img par img) '' '' ##################################################################''' while 1: ''' VITESSE D'AFFICHAGE ''' clock = pygame.time.Clock() FRAMES_PER_SECOND = 35 deltat = clock.tick(FRAMES_PER_SECOND) '''APPUYER SUR ENTRER POUR COMMENCER''' while menuStartOn: screen.blit(pygame.image.load("images/menu/menu_start_game/background_start_menu.jpeg"),(0,10)) pygame.display.flip() for event in pygame.event.get(): if event.type == pygame.QUIT: sys.exit() elif event.type == pygame.KEYDOWN: if event.key == pygame.K_RETURN: menuStartOn=False elif event.key == pygame.K_ESCAPE: self.music.stop() self.musicAfterRecord.stop() ecranAccueil = Menu.Menu("images/menu/menu.jpg", self.player) ecranAccueil.addButton(Bouton.BoutonStartGame("images/menu/menu_principal/titles/play.png",0, 270, self.player, True)) ecranAccueil.addButton(Bouton.BoutonOption("images/menu/menu_principal/titles/option.png",0, 340, self.player)) ecranAccueil.addButton(Bouton.BoutonCredits("images/menu/menu_principal/titles/credits.png",0, 415)) ecranAccueil.addButton(Bouton.BoutonQuit("images/menu/menu_principal/titles/quit.png",0, 485)) ecranAccueil.afficher() ''' COMMANDES CLAVIER ''' for event in pygame.event.get(): if event.type == pygame.QUIT: sys.exit() ##### APPUI SUR TOUCHE ##### elif event.type == pygame.KEYDOWN: # HAUT if event.key == pygame.K_UP: if not monVaisseau.monte: monVaisseau.monte=True if self.player.soundOn: monVaisseau.son.play(-1) # ESPACE elif event.key == pygame.K_SPACE: if not monVaisseau.inCharge: monVaisseau.inCharge=True # RIGHT elif event.key == pygame.K_RIGHT: if not monVaisseau.inBoost: monVaisseau.inBoost=True # LEFT elif event.key == pygame.K_LEFT: if not monVaisseau.inBreak: monVaisseau.inBreak=True # ECHAPE elif event.key == pygame.K_ESCAPE: menuPause = Menu.menuPause("images/menu/menu_pause/background_menu_pause.png", self.player) menuPause.addButton(Bouton.BoutonReprendre("images/menu/menu_pause/reprendre.png", 445, 410, True)) menuPause.addButton(Bouton.BoutonMenuPrincipal("images/menu/menu_pause/menu_principal.png", 474, 447, self.player)) menuPause.afficher(screen, self) ##### RELACHE TOUCHE ##### elif event.type == pygame.KEYUP: # HAUT if event.key == pygame.K_UP: monVaisseau.monte=False monVaisseau.son.stop() # ESPACE elif event.key == pygame.K_SPACE: monVaisseau.tir(self.missiles); # RIGHT elif event.key == pygame.K_RIGHT: monVaisseau.inBoost=False # LEFT elif event.key == pygame.K_LEFT: monVaisseau.inBreak=False ##### BACKGROUND ##### screen.blit(background, (-i,0)) screen.blit(background, (13262-i,0)) i+=1 if i > 13262: i=0 ##### RECORD PRECEDENT ##### if not isRecordBattu: if distance+35==self.player.record: self.creerObstacle(width, height, -1) isRecordBattu=True if not self.isRecordBattu: if distance>self.player.record: self.isRecordBattu=True if self.player.musicOn: if distance == self.player.record: self.afficherReachedRecord = 40 self.music.stop() if musicAfterRecord == False: pygame.mixer.Sound("sounds/record_beaten.wav").play() self.musicAfterRecord.play(-1) musicAfterRecord = True self.Mouvements(screen, width, height, monVaisseau) self.Collisions(monVaisseau, animObj, screen) self.Blits(width, height, screen, distance, monVaisseau, animReachedRecord) self.supprimerObjets(width) #incrementation du compteur generale de distance et creation d'ennemis et d'self.obstacles if distanceTemp != 4: distanceTemp += 1 else: distanceTemp = 0 distance += 1 if distanceLevelTemp != 60: distanceLevelTemp += 1 if distanceLevelTemp == 10: self.creerEnnemi(width, height, level, monVaisseau) self.creerObstacle(width, height, level) else: distanceLevelTemp = 0 level += 1 if (monVaisseau.enVie == False): self.gameOver(monVaisseau.getPos(), screen, distance, height, monVaisseau) pygame.display.update()