Advertisement
Guest User

Untitled

a guest
Jun 17th, 2019
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 3.52 KB | None | 0 0
  1. #!/usr/bin/env python3
  2. # -*- coding: utf-8 -*-
  3. """
  4. Space invaders
  5. @author: the only one redwood soleil (he is so handsome)
  6.  
  7. """
  8. #importement
  9. import pygame
  10. import sys
  11. import random
  12. pygame.init()
  13.  
  14.  
  15. #nom fenetre
  16. pygame.display.set_caption("redwood's space")
  17.  
  18. #variables
  19.  
  20. w = 70     #weight standarde
  21. h = 80     #height standarde
  22.  
  23. x = 500 - 35          #abscisse du vaisseau
  24. y = 700          #ordonnee du vaisseau
  25. X = x - 35          #abscisse de l'alien
  26. Y = 70          #ordonnee de l'alien
  27.  
  28. a = 0         #variable essentielle pour etoile
  29.  
  30. ecran = pygame.display.set_mode((1000, 800))
  31.  
  32. life_vaisseau = 2           #vie du vaisseau (2 coups et il est mort)
  33. life_alien    = 3           #vie de l'alien
  34.  
  35. clock = pygame.time.Clock()   #pour mettre les FPS
  36.  
  37. vaisseau = pygame.image.load('vaisseau.png')
  38. vaisseau = pygame.transform.scale(vaisseau, (w, h))  #resize de l'image
  39. alien = pygame.image.load("alien.png").convert_alpha()     #import et transparence
  40. alien = pygame.transform.scale(alien, (w, h))
  41.  
  42. icone = pygame.transform.scale(alien, (64, 64))
  43. pygame.display.set_icon(icone)        #icone du jeu
  44.  
  45. tir = pygame.mixer.Sound('tir.wav')
  46. ambiance = pygame.mixer.Sound('musique.wav')
  47.  
  48. liste_tirs = []      #liste des tirs effectues par le joueur
  49.  
  50. jouer = True     #bool de jeu
  51.  
  52. #couleurs
  53. blue = (0, 0, 255)
  54. red = (255, 0, 0)
  55. orange = (255,165,0)
  56. yellow = (255,255,0)
  57. white = (255, 255, 255)
  58. black = (0, 0, 0)
  59.  
  60.  
  61. #fonction pour tirer
  62. def tirer():
  63.     tir.play()
  64.     liste_tirs.append([x+35,y])
  65.  
  66. #musique
  67. ambiance.play()
  68.  
  69. #programme
  70.  
  71.  
  72.   #jeu
  73.  
  74. while jouer:
  75.    
  76.    
  77.     while not life_alien <= 0:
  78.    
  79.         a = 0 #generateur d'etoiles
  80.        
  81.         rect_alien = pygame.Rect(X, Y, w, h)   #Rect associe a l'alien
  82.        
  83.         #mouvement
  84.        
  85.         pressed = pygame.key.get_pressed()
  86.         if pressed[pygame.K_LEFT] and x > 0:  #le and c'est pour pas sortir de l'ecran
  87.             x -= 3
  88.         if pressed[pygame.K_RIGHT] and x < 930: #pareil
  89.             x += 3
  90.        
  91.         #pour quitter
  92.         for event in pygame.event.get():
  93.             if event.type == pygame.QUIT:  #quand il quitte la fenetre
  94.                 pygame.quit()
  95.                 sys.exit()
  96.            
  97.             if event.type == pygame.KEYDOWN and event.key == pygame.K_SPACE:
  98.                 tirer()
  99.    
  100.    
  101.    
  102.         #affichage des bullets ainsi que collision
  103.         for i in liste_tirs:
  104.            
  105.             rect_tir = pygame.Rect(i[0], i[1], 3, 6)    #rect associe a chaque tir
  106.            
  107.             if i[1] <= 0 :                  #pour pas que le jeu ne commence à ramer sa mère
  108.                 liste_tirs.remove(i)
  109.                
  110.             else:
  111.                 i[1] -= 1
  112.                 pygame.draw.rect(ecran, red, rect_tir, 0)
  113.                 ecran.blit(vaisseau, [x, y])
  114.        
  115.         for o in liste_tirs:
  116.             rect_tir = pygame.Rect(o[0], o[1], 3, 6)    #rect associe a chaque tir
  117.            
  118.             if rect_tir.colliderect(rect_alien):    #collision du tir
  119.                 life_alien -= 1
  120.            
  121.         #affichage vaisseau et alien    
  122.         ecran.blit(vaisseau, [x, y])
  123.         ecran.blit(alien, [X, Y])
  124.        
  125.         while a <= 2:  #etoiles aleatoires
  126.             pygame.draw.circle(ecran, white, [random.randint(0,1000), random.randint(0,800)], 1)
  127.             a += 1
  128.            
  129.         pygame.display.update()
  130.         ecran.fill(black)
  131.         clock.tick(60)
  132.    
  133.     jouer = False
  134.        
  135. pygame.quit()
  136. sys.exit()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement