diff --git a/main.py b/main.py index 5436709..727c923 100644 --- a/main.py +++ b/main.py @@ -1,12 +1,117 @@ -import pygame, sys -from pygame.locals import QUIT - +import pygame +from pygame.locals import * +from random import randint +LARGEUR = 900 +HAUTEUR = 700 +fenetre = pygame.display.set_mode((LARGEUR, HAUTEUR)) +fond = pygame.sprite.Sprite() +fond.image = pygame.image.load("terre.jpg").convert() +fond.rect = fond.image.get_rect() +fond.rect.x = 55 +fond.rect.y = 0 +def creer_ananas(pos_x, pos_y): + ananas = pygame.sprite.Sprite() + pygame.sprite.Sprite.__init__(ananas) + ananas.image = pygame.image.load("ananas.png").convert_alpha() + ananas.image = pygame.transform.scale(ananas.image,[200, 100]) + ananas.rect = ananas.image.get_rect() + ananas.rect.x = pos_x + ananas.rect.y = pos_y + return ananas pygame.init() -DISPLAYSURF = pygame.display.set_mode((400, 300)) -pygame.display.set_caption('Hello World!') -while True: - for event in pygame.event.get(): - if event.type == QUIT: - pygame.quit() - sys.exit() - pygame.display.update() \ No newline at end of file +clock = pygame.time.Clock() +running = True +avion = pygame.sprite.Sprite() +pygame.sprite.Sprite.__init__(avion) +avion.image = pygame.image.load("avion.png").convert_alpha() +avion.image = pygame.transform.scale(avion.image,[120, 120]) +avion.rect = avion.image.get_rect() +avion.rect.x = 200 +avion.rect.y = 400 +liste_des_sprites = pygame.sprite.LayeredUpdates() +liste_des_sprites.add(fond) +liste_sprites_ananas = pygame.sprite.LayeredUpdates() +liste_des_sprites.add(avion) +liste_d_ananas = [] +police = pygame.font.Font(None, 25) +texte = pygame.sprite.Sprite() +pygame.sprite.Sprite.__init__(texte) +texte.image = police.render("ALERTE! La planète terre est attaquée par une flotte d’avions spatiaux!", 1, (10, 10, 10),(255, 90, 20)) +texte.rect = texte.image.get_rect() +texte.rect.centerx = 360 +texte.rect.centery = 30 +liste_des_sprites.add(texte) + +police = pygame.font.Font(None, 20) +texte2 = pygame.sprite.Sprite() +texte2.image = police.render("Vous vous trouver dans l’engin SU-PER12. Votre mission est d’éliminer le plus d’ennemis possible!", 1, (10, 10, 10),(255, 90, 20)) +texte2.rect = texte2.image.get_rect() +texte2.rect.centerx = 360 +texte2.rect.centery = 60 +liste_des_sprites.add(texte2) + +police = pygame.font.Font(None, 20) +texte3 = pygame.sprite.Sprite() +texte3.image = police.render("Pour ce faire, appuyez sur « espace » pour tirer et bougez la souris pour manoeuvrer votre SU-PER12!", 1, (10, 10, 10),(255, 90, 20)) +texte3.rect = texte3.image.get_rect() +texte3.rect.centerx = 360 +texte3.rect.centery = 80 +liste_des_sprites.add(texte3) + +police = pygame.font.Font(None, 20) +texte4 = pygame.sprite.Sprite() +texte4.image = police.render("Bonne chance!", 1, (10, 10, 10),(255, 90, 20)) +texte4.rect = texte4.image.get_rect() +texte4.rect.centerx = 360 +texte4.rect.centery = 100 +liste_des_sprites.add(texte4) + +police = pygame.font.Font(None, 20) +texte5 = pygame.sprite.Sprite() +texte5.image = police.render("ALERTE, PLANETE TERRE EST SOUS ATTAQUE", 1, (10, 10, 10),(255, 90, 20)) +texte5.rect = texte5.image.get_rect() +texte5.rect.centerx = 360 +texte5.rect.centery = 1500 +liste_des_sprites.add(texte5) + +gameover = False +score = 0 +while running: + liste_des_sprites.draw(fenetre) + liste_sprites_ananas.draw(fenetre) + for event in pygame.event.get(): + if event.type == pygame.QUIT: + running = False + if event.type == MOUSEMOTION: + avion.rect.x = event.pos[0] + keys = pygame.key.get_pressed() + if keys[pygame.K_SPACE]: + liste_des_sprites.remove(texte) + if gameover == False: + nombre_aleatoire = randint(0, 100) + if nombre_aleatoire == 100: + position_x_aleatoire = randint(0, LARGEUR - 60) + nouvel_ananas = creer_ananas(position_x_aleatoire, -100) + liste_d_ananas.append(nouvel_ananas) + liste_sprites_ananas.add(nouvel_ananas) + for ananas in liste_d_ananas: + ananas.rect.y += 5 + if ananas.rect.colliderect(avion): + print("COLLISION") + score += 1 + liste_d_ananas.remove(ananas) + ananas.kill() + if ananas.rect.y > HAUTEUR: + gameover = True + police = pygame.font.Font(None, 36) + texte = pygame.sprite.Sprite() + pygame.sprite.Sprite.__init__(texte) + texte.image = police.render("Gameover. L'ennemi est entré dans notre atmosphère! Réessaye de tuer tout les ennemis! Score : "+ str(score), 1, (10, 10, 10),(255, 90, 20)) + texte.rect = texte.image.get_rect() + texte.rect.centerx = 360 + texte.rect.centery = 450 + liste_des_sprites.add(texte) + pygame.display.flip() + fenetre.fill((0,0,0)) + clock.tick(60) +pygame.quit() \ No newline at end of file