Moved enemy class to gameobjects

This commit is contained in:
Christian
2024-08-09 09:49:19 +02:00
parent 63cb8f6dd2
commit 334df6bb25
3 changed files with 37 additions and 45 deletions

View File

@@ -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

View File

@@ -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

View File

@@ -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)