You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
44 lines
1.6 KiB
44 lines
1.6 KiB
import pygame |
|
from player import * |
|
from bullets import Bullet |
|
from random import randint |
|
|
|
windowX = 640 |
|
windowY = 640 |
|
enemy_bul_on_screen = [] |
|
|
|
class Enemy: |
|
def __init__(self): |
|
self.enemy_x = 100 |
|
self.enemy_y = 100 |
|
self.en_width = 32 |
|
self.en_height = 64 |
|
|
|
def draw(self,window,en_color,en_image): |
|
pygame.draw.rect(window,en_color,(self.enemy_x, self.enemy_y, self.en_width, self.en_height)) |
|
window.blit(en_image,(self.enemy_x, self.enemy_y)) |
|
def update(self): |
|
self.enemy_x += 3 |
|
if self.enemy_x >= 600: |
|
self.enemy_x = 1 |
|
def enemy_shoot(self,window,start_color,bul_image): #Have NO IDEA how it`ll work |
|
new_bullet = Bullet(self.enemy_x + self.en_width/2, self.enemy_y + 10) |
|
enemy_bul_on_screen.append(new_bullet) |
|
if int(len(enemy_bul_on_screen)) > 0: |
|
for bullet in enemy_bul_on_screen: |
|
bullet.draw(window,start_color,bul_image) |
|
bullet.moveb() |
|
if bullet.bullet_y >= windowY +20: |
|
enemy_bul_on_screen.remove(bullet) |
|
|
|
def out_of_area(self): |
|
if self.enemy_x > windowX or self.enemy_x < 0 or self.enemy_y > windowY or self.enemy_y < 0: |
|
return True |
|
else: |
|
return False |
|
|
|
def collision(self,enemy): |
|
for bullet in bullets_on_screen: |
|
if bullet.bullet_x + bullet.bullet_width/2 >= enemy.enemy_x and bullet.bullet_x + bullet.bullet_width/2 <= enemy.enemy_x + enemy.en_width and bullet.bullet_y <= enemy.enemy_y: |
|
enemy.enemy_x += randint(-50,50) |
|
enemy.enemy_y += randint(-50,50)
|
|
|