Advertisement
NiveousCascade

classes.py

Apr 13th, 2014
160
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 4.08 KB | None | 0 0
  1. import pygame
  2. import random
  3. import math
  4. import constants
  5.  
  6. class Enemies(pygame.sprite.Sprite):
  7.     def __init__(self,enemy):
  8.         pygame.sprite.Sprite.__init__(self)
  9.        
  10.         self.image = pygame.image.load(enemy)
  11.         self.rect = self.image.get_rect()
  12.        
  13. class Meteor(pygame.sprite.Sprite):
  14.     def __init__(self,meteor):
  15.         pygame.sprite.Sprite.__init__(self)
  16.         self.image = pygame.image.load(meteor)
  17.         self.rect = self.image.get_rect()
  18.         self.width = self.image.get_width()
  19.    
  20.     def update(self):
  21.         # Meteor movement
  22.         self.rect.y += 5
  23.        
  24. class Ship(pygame.sprite.Sprite):
  25.     # Speed vector
  26.     change_x = 0
  27.     change_y = 0
  28.    
  29.     # Attack damage
  30.     attack = 1
  31.    
  32.     # Health
  33.     health = 3
  34.  
  35.     # Different ufo colors  
  36.     # Orange is yellow but that's the only color I have.
  37.     ufo = {"blue" : "ufoBlue.png",
  38.            "green" : "ufoGreen.png",
  39.            "red" : "ufoRed.png",
  40.            "orange" : "ufoYellow.png"}
  41.    
  42.     # Different ship colors.
  43.     ship = {"blue" : ["playerShip1_blue.png","playerShip2_blue.png",
  44.                       "playerShip3_blue.png",],
  45.            "green" : ["playerShip1_green.png","playerShip2_green.png",\
  46.                       "playerShip3_green.png"],
  47.            "red" : ["playerShip1_red.png","playerShip2_red.png",\
  48.                     "playerShip3_red.png"],
  49.            "orange" : ["playerShip1_orange.png","playerShip2_orange.png",\
  50.                        "playerShip3_orange.png"]}
  51.    
  52.     def __init__(self,ship_color):
  53.         pygame.sprite.Sprite.__init__(self)
  54.        
  55.         # Chance of getting special UFO!
  56.         if random.random() < 0.3:
  57.             self.image = pygame.image.load(self.ufo[ship_color])
  58.         else:
  59.             # Random model of that color until I can figure out input...
  60.             self.image = pygame.image.load(random.choice(self.ship[ship_color]))
  61.            
  62.         self.rect = self.image.get_rect()
  63.        
  64.     def update(self):        
  65.         # Movement
  66.         self.rect.x += self.change_x
  67.         self.rect.y += self.change_y
  68.         self.change_x, self.change_y = 0,0
  69.        
  70.         if self.rect.x < 0:
  71.             self.rect.x = 0
  72.         if self.rect.x > constants.screen_width - self.image.get_width():
  73.             self.rect.x = constants.screen_width - self.image.get_width()
  74.         if self.rect.y < 0:
  75.             self.rect.y = 0
  76.         if self.rect.y > constants.screen_height - self.image.get_height():
  77.             self.rect.y = constants.screen_height - self.image.get_height()
  78.            
  79.         # Check if we got hit
  80.         ## Enemy support later
  81.         #enemy_hit_list = pygame.sprite.spritecollide(self,\
  82.                                                      #self.enemy_list,\
  83.                                                      #False)
  84.         #for enemy in enemy_hit_list:
  85.             ## If we moved rightwards into an object
  86.             #if self.change_y > 0:
  87.                 #self.rect.bottom = block.rect.top
  88.             #elif self.change_x < y:
  89.                 ## If we moved leftwards
  90.                 #self.rect.top = block.rect.bottop
  91.                
  92.             # Stop moving
  93.             #self.change_y = 0
  94.             #self.change_x = 0      
  95.            
  96.     # --- Movement
  97.     def go_left(self):
  98.         self.change_x = -6
  99.     def go_right(self):
  100.         self.change_x = 6
  101.     def go_up(self):
  102.         self.change_y = -6
  103.     def go_down(self):
  104.         self.change_y = 6
  105.            
  106. class Laser(pygame.sprite.Sprite):
  107.     # Different laser colors
  108.     # Only green support atm
  109.     laser = {1 : {"green" : "laserGreen13.png"},
  110.              2 : {"green" : "laserGreen12.png"},
  111.              3 : {"green" : "laserGreen10.png"},
  112.              4 : {"green" : "laserGreen06.png"}}
  113.    
  114.     def __init__(self,attack,color):
  115.         pygame.sprite.Sprite.__init__(self)        
  116.         self.image = pygame.image.load(self.laser[attack][color])
  117.         self.rect = self.image.get_rect()
  118.    
  119.     def update(self):
  120.         # Laser movement
  121.         self.rect.y -= 20
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement