Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import pygame
- import random
- import math
- import constants
- class Enemies(pygame.sprite.Sprite):
- def __init__(self,enemy):
- pygame.sprite.Sprite.__init__(self)
- self.image = pygame.image.load(enemy)
- self.rect = self.image.get_rect()
- class Meteor(pygame.sprite.Sprite):
- def __init__(self,meteor):
- pygame.sprite.Sprite.__init__(self)
- self.image = pygame.image.load(meteor)
- self.rect = self.image.get_rect()
- self.width = self.image.get_width()
- def update(self):
- # Meteor movement
- self.rect.y += 5
- class Ship(pygame.sprite.Sprite):
- # Speed vector
- change_x = 0
- change_y = 0
- # Attack damage
- attack = 1
- # Health
- health = 3
- # Different ufo colors
- # Orange is yellow but that's the only color I have.
- ufo = {"blue" : "ufoBlue.png",
- "green" : "ufoGreen.png",
- "red" : "ufoRed.png",
- "orange" : "ufoYellow.png"}
- # Different ship colors.
- ship = {"blue" : ["playerShip1_blue.png","playerShip2_blue.png",
- "playerShip3_blue.png",],
- "green" : ["playerShip1_green.png","playerShip2_green.png",\
- "playerShip3_green.png"],
- "red" : ["playerShip1_red.png","playerShip2_red.png",\
- "playerShip3_red.png"],
- "orange" : ["playerShip1_orange.png","playerShip2_orange.png",\
- "playerShip3_orange.png"]}
- def __init__(self,ship_color):
- pygame.sprite.Sprite.__init__(self)
- # Chance of getting special UFO!
- if random.random() < 0.3:
- self.image = pygame.image.load(self.ufo[ship_color])
- else:
- # Random model of that color until I can figure out input...
- self.image = pygame.image.load(random.choice(self.ship[ship_color]))
- self.rect = self.image.get_rect()
- def update(self):
- # Movement
- self.rect.x += self.change_x
- self.rect.y += self.change_y
- self.change_x, self.change_y = 0,0
- if self.rect.x < 0:
- self.rect.x = 0
- if self.rect.x > constants.screen_width - self.image.get_width():
- self.rect.x = constants.screen_width - self.image.get_width()
- if self.rect.y < 0:
- self.rect.y = 0
- if self.rect.y > constants.screen_height - self.image.get_height():
- self.rect.y = constants.screen_height - self.image.get_height()
- # Check if we got hit
- ## Enemy support later
- #enemy_hit_list = pygame.sprite.spritecollide(self,\
- #self.enemy_list,\
- #False)
- #for enemy in enemy_hit_list:
- ## If we moved rightwards into an object
- #if self.change_y > 0:
- #self.rect.bottom = block.rect.top
- #elif self.change_x < y:
- ## If we moved leftwards
- #self.rect.top = block.rect.bottop
- # Stop moving
- #self.change_y = 0
- #self.change_x = 0
- # --- Movement
- def go_left(self):
- self.change_x = -6
- def go_right(self):
- self.change_x = 6
- def go_up(self):
- self.change_y = -6
- def go_down(self):
- self.change_y = 6
- class Laser(pygame.sprite.Sprite):
- # Different laser colors
- # Only green support atm
- laser = {1 : {"green" : "laserGreen13.png"},
- 2 : {"green" : "laserGreen12.png"},
- 3 : {"green" : "laserGreen10.png"},
- 4 : {"green" : "laserGreen06.png"}}
- def __init__(self,attack,color):
- pygame.sprite.Sprite.__init__(self)
- self.image = pygame.image.load(self.laser[attack][color])
- self.rect = self.image.get_rect()
- def update(self):
- # Laser movement
- self.rect.y -= 20
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement