Moved enemy class to gameobjects
This commit is contained in:
40
Enemy.py
40
Enemy.py
@@ -1,40 +0,0 @@
|
||||
import pygame
|
||||
import GameObject
|
||||
import Utils
|
||||
|
||||
class Enemy(GameObject.GameObject):
|
||||
shots_fired = list()
|
||||
def __init__(self, name, pos_x, pos_y, width, height, screen, image=None) -> None:
|
||||
super().__init__(name, pos_x, pos_y, width, height, image)
|
||||
|
||||
def fire(self, screen):
|
||||
print("Schieße!!!!")
|
||||
shot = Projectile(" ", self.pos_x+(self.width/2),self.pos_y+self.height,5,10, screen)
|
||||
self.shots_fired.append(shot)
|
||||
|
||||
def shoot(self):
|
||||
if(len(self.shots_fired) > 0):
|
||||
for shots in self.shots_fired:
|
||||
shots:Projectile
|
||||
shots.animate()
|
||||
|
||||
def move(self, x=0, y=0):
|
||||
if(x != 0):
|
||||
self.pos_x += x
|
||||
if(y != 0):
|
||||
self.pos_y += y
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
class Projectile(GameObject.GameObject):
|
||||
def __init__(self, name, pos_x, pos_y, width, height, screen, image=None) -> None:
|
||||
super().__init__(name, pos_x, pos_y, width, height, image)
|
||||
self.screen = screen
|
||||
self.speed = 10
|
||||
|
||||
def animate(self):
|
||||
self.rect = pygame.draw.rect(self.screen, (0,0,0), (self.pos_x, self.pos_y, self.width, self.height))
|
||||
self.pos_y += self.speed
|
||||
|
||||
@@ -9,8 +9,8 @@ class GameObject(object):
|
||||
self.width = width
|
||||
self.height = height
|
||||
self.image = image
|
||||
self.rect:pygame.Rect
|
||||
self.objects.append(self)
|
||||
pass
|
||||
|
||||
def get_objectinfo(self):
|
||||
print(F"Gameobject-Info: \n",
|
||||
@@ -21,9 +21,10 @@ class GameObject(object):
|
||||
|
||||
def render(self, screen:pygame.Surface):
|
||||
if(self.image is not None):
|
||||
screen.blit(self.image, (self.pos_x, self.pos_y, ))
|
||||
self.rect = screen.blit(self.image, (self.pos_x, self.pos_y, ))
|
||||
else:
|
||||
print("Kein Image hinterlegt!")
|
||||
return
|
||||
|
||||
def setpos(self, pos_x, pos_y):
|
||||
self.pos_x = pos_x
|
||||
@@ -34,12 +35,12 @@ class GameObject(object):
|
||||
self.height = height
|
||||
|
||||
class Player(GameObject):
|
||||
shots_fired = list()
|
||||
def __init__(self, name, pos_x, pos_y, width, height, image=None) -> None:
|
||||
super().__init__(name, pos_x, pos_y, width, height, image)
|
||||
self._speed = 10
|
||||
|
||||
def handle_input(self, event:pygame.event.EventType):
|
||||
|
||||
keys =pygame.key.get_pressed()
|
||||
if(event.type == pygame.KEYDOWN):
|
||||
print(event)
|
||||
@@ -62,3 +63,35 @@ class Player(GameObject):
|
||||
self.pos_x += x
|
||||
if y != 0:
|
||||
self.pos_y += y
|
||||
|
||||
class Enemy(GameObject):
|
||||
shots_fired = list()
|
||||
def __init__(self, name, pos_x, pos_y, width, height, screen, image=None) -> None:
|
||||
super().__init__(name, pos_x, pos_y, width, height, image)
|
||||
|
||||
def fire(self, screen):
|
||||
print("Schieße!!!!")
|
||||
shot = Projectile(" ", self.pos_x+(self.width/2),self.pos_y+self.height,5,10, screen)
|
||||
self.shots_fired.append(shot)
|
||||
|
||||
def shoot(self):
|
||||
if(len(self.shots_fired) > 0):
|
||||
for shots in self.shots_fired:
|
||||
shots:Projectile
|
||||
shots.animate()
|
||||
|
||||
def move(self, x=0, y=0):
|
||||
if(x != 0):
|
||||
self.pos_x += x
|
||||
if(y != 0):
|
||||
self.pos_y += y
|
||||
|
||||
class Projectile(GameObject):
|
||||
def __init__(self, name, pos_x, pos_y, width, height, screen, image=None) -> None:
|
||||
super().__init__(name, pos_x, pos_y, width, height, image)
|
||||
self.screen = screen
|
||||
self.speed = 10
|
||||
|
||||
def animate(self):
|
||||
self.rect = pygame.draw.rect(self.screen, (0,0,0), (self.pos_x, self.pos_y, self.width, self.height))
|
||||
self.pos_y += self.speed
|
||||
3
test.py
3
test.py
@@ -1,6 +1,5 @@
|
||||
import pygame
|
||||
import GameObject
|
||||
import Enemy
|
||||
import Utils
|
||||
import random
|
||||
|
||||
@@ -19,7 +18,7 @@ testimage = Utils.load_image("Rastergrafik.png")
|
||||
|
||||
#testimage.set_colorkey((255,0,255), pygame.RLEACCELOK)
|
||||
|
||||
enemy = Enemy.Enemy("Enemy-1", (screen.get_size()[0]/2) -30,30,35,35, screen, testimage)
|
||||
enemy = GameObject.Enemy("Enemy-1", (screen.get_size()[0]/2) -30,30,35,35, screen, testimage)
|
||||
player = GameObject.Player("TEST", (screen.get_size()[0]/2)-17, screen.get_size()[1]-100, 35, 35, testimage)
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user