diff --git a/Enemy.py b/Enemy.py deleted file mode 100644 index 8dd410c..0000000 --- a/Enemy.py +++ /dev/null @@ -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 - diff --git a/GameObject.py b/GameObject.py index 45fa064..e8e4a1f 100644 --- a/GameObject.py +++ b/GameObject.py @@ -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 \ No newline at end of file diff --git a/test.py b/test.py index ab0657b..82da552 100644 --- a/test.py +++ b/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)