Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env python3
- # -*- coding: utf-8 -*-
- """
- Space invaders
- @author: the only one redwood soleil (he is so handsome)
- """
- #importement
- import pygame
- import sys
- import random
- pygame.init()
- #nom fenetre
- pygame.display.set_caption("redwood's space")
- #variables
- w = 70 #weight standarde
- h = 80 #height standarde
- x = 500 - 35 #abscisse du vaisseau
- y = 700 #ordonnee du vaisseau
- X = x - 35 #abscisse de l'alien
- Y = 70 #ordonnee de l'alien
- a = 0 #variable essentielle pour etoile
- ecran = pygame.display.set_mode((1000, 800))
- life_vaisseau = 2 #vie du vaisseau (2 coups et il est mort)
- life_alien = 3 #vie de l'alien
- clock = pygame.time.Clock() #pour mettre les FPS
- vaisseau = pygame.image.load('vaisseau.png')
- vaisseau = pygame.transform.scale(vaisseau, (w, h)) #resize de l'image
- alien = pygame.image.load("alien.png").convert_alpha() #import et transparence
- alien = pygame.transform.scale(alien, (w, h))
- icone = pygame.transform.scale(alien, (64, 64))
- pygame.display.set_icon(icone) #icone du jeu
- tir = pygame.mixer.Sound('tir.wav')
- ambiance = pygame.mixer.Sound('musique.wav')
- liste_tirs = [] #liste des tirs effectues par le joueur
- jouer = True #bool de jeu
- #couleurs
- blue = (0, 0, 255)
- red = (255, 0, 0)
- orange = (255,165,0)
- yellow = (255,255,0)
- white = (255, 255, 255)
- black = (0, 0, 0)
- #fonction pour tirer
- def tirer():
- tir.play()
- liste_tirs.append([x+35,y])
- #musique
- ambiance.play()
- #programme
- #jeu
- while jouer:
- while not life_alien <= 0:
- a = 0 #generateur d'etoiles
- rect_alien = pygame.Rect(X, Y, w, h) #Rect associe a l'alien
- #mouvement
- pressed = pygame.key.get_pressed()
- if pressed[pygame.K_LEFT] and x > 0: #le and c'est pour pas sortir de l'ecran
- x -= 3
- if pressed[pygame.K_RIGHT] and x < 930: #pareil
- x += 3
- #pour quitter
- for event in pygame.event.get():
- if event.type == pygame.QUIT: #quand il quitte la fenetre
- pygame.quit()
- sys.exit()
- if event.type == pygame.KEYDOWN and event.key == pygame.K_SPACE:
- tirer()
- #affichage des bullets ainsi que collision
- for i in liste_tirs:
- rect_tir = pygame.Rect(i[0], i[1], 3, 6) #rect associe a chaque tir
- if i[1] <= 0 : #pour pas que le jeu ne commence à ramer sa mère
- liste_tirs.remove(i)
- else:
- i[1] -= 1
- pygame.draw.rect(ecran, red, rect_tir, 0)
- ecran.blit(vaisseau, [x, y])
- for o in liste_tirs:
- rect_tir = pygame.Rect(o[0], o[1], 3, 6) #rect associe a chaque tir
- if rect_tir.colliderect(rect_alien): #collision du tir
- life_alien -= 1
- #affichage vaisseau et alien
- ecran.blit(vaisseau, [x, y])
- ecran.blit(alien, [X, Y])
- while a <= 2: #etoiles aleatoires
- pygame.draw.circle(ecran, white, [random.randint(0,1000), random.randint(0,800)], 1)
- a += 1
- pygame.display.update()
- ecran.fill(black)
- clock.tick(60)
- jouer = False
- pygame.quit()
- sys.exit()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement