-
Notifications
You must be signed in to change notification settings - Fork 0
/
bullets.py
27 lines (24 loc) · 1.05 KB
/
bullets.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
import pygame
from pygame.sprite import Sprite
class Bullet(Sprite):
#manages bullets fired from the ship
'''sprites enables us to group related elements in the game'''
def __init__(self,ai_settings,screen,ship):
super(Bullet,self).__init__()
#inherits the ai_settings,screen and ship attributes from Sprite using super
self.screen = screen
#creates a bulet rect at (0,0) and sets its correct position
self.rect = pygame.Rect(0,0,ai_settings.bullet_width,ai_settings.bullet_height)
self.rect.centerx = ship.rect.centerx
self.rect.top = ship.rect.top
#stores bullets position as a decimal value
self.y = float(self.rect.y)
self.color =ai_settings.bullet_color
self.speed_factor =ai_settings.bullet_speed_factor
def update(self):
#updates the decimal position of the bullet
self.y -=self.speed_factor
self.rect.y = self.y
def draw_bullet(self):
#displays bullets on the screen
pygame.draw.rect(self.screen,self.color,self.rect)