My OOP practice project
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.

45 lines
1.6 KiB

4 years ago
import pygame
from player import *
4 years ago
from bullets import Bullet
4 years ago
from random import randint
4 years ago
4 years ago
windowX = 640
windowY = 640
4 years ago
enemy_bul_on_screen = []
4 years ago
class Enemy:
def __init__(self):
self.enemy_x = 100
self.enemy_y = 100
self.en_width = 32
self.en_height = 64
4 years ago
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):
4 years ago
self.enemy_x += 3
4 years ago
if self.enemy_x >= 600:
self.enemy_x = 1
4 years ago
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)
4 years ago
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)