Edited player class
Added lifes for players Edited life decrease for player after it gets hit
This commit is contained in:
@@ -11,7 +11,6 @@ class GameObject(object):
|
||||
self.image = image
|
||||
self.rect:pygame.Rect
|
||||
self.objects.append(self)
|
||||
|
||||
self.keymap = {"up":False, "down":False, "left":False, "right":False}
|
||||
|
||||
def get_objectinfo(self):
|
||||
@@ -23,7 +22,7 @@ class GameObject(object):
|
||||
|
||||
def render(self, screen:pygame.Surface):
|
||||
if(self.image is not None):
|
||||
self.rect = 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
|
||||
@@ -42,6 +41,7 @@ class Player(GameObject):
|
||||
self._speed = 10
|
||||
self.screen = screen
|
||||
self.points = 0
|
||||
self.lifes = 2
|
||||
|
||||
def handle_input(self, event:pygame.event.EventType):
|
||||
if(event.type == pygame.KEYDOWN and event.key == pygame.K_LEFT):
|
||||
@@ -113,24 +113,32 @@ class Player2(Player):
|
||||
print("Feuer!")
|
||||
self.fire(self.screen)
|
||||
|
||||
|
||||
|
||||
|
||||
def firecontrol(self, screen):
|
||||
if(len(Projectile.shots) > 0):
|
||||
for objects in Projectile.shots:
|
||||
objects:dict
|
||||
for key, object in objects.items():
|
||||
object:Projectile
|
||||
if(key == "Enemy"):
|
||||
object.animate("DOWN")
|
||||
|
||||
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)
|
||||
self.screen = screen
|
||||
|
||||
def fire(self, screen):
|
||||
#print("Schieße!!!!")
|
||||
shot = Projectile("Enemy", self.pos_x+(self.width/2),self.pos_y+self.height,5,10, screen)
|
||||
self.shots_fired.append(shot)
|
||||
shot = Projectile("Enemy", self.pos_x+(self.width/2),self.pos_y+self.height,5,10, screen, 2)
|
||||
|
||||
def shoot(self):
|
||||
if(len(self.shots_fired) > 0):
|
||||
for shots in self.shots_fired:
|
||||
shots:Projectile
|
||||
shots.animate("DOWN")
|
||||
def firecontrol(self, screen):
|
||||
if(len(Projectile.shots) > 0):
|
||||
for objects in Projectile.shots:
|
||||
objects:dict
|
||||
for key, object in objects.items():
|
||||
object:Projectile
|
||||
if(key == "Enemy"):
|
||||
object.animate("DOWN")
|
||||
|
||||
def move(self, x=0, y=0):
|
||||
if(x != 0):
|
||||
@@ -140,15 +148,19 @@ class Enemy(GameObject):
|
||||
|
||||
class Projectile(GameObject):
|
||||
shots = list()
|
||||
def __init__(self, name, pos_x, pos_y, width, height, screen, image=None) -> None:
|
||||
_id_count = 0
|
||||
def __init__(self, name, pos_x, pos_y, width, height, screen, speed:int=None, image=None) -> None:
|
||||
super().__init__(name, pos_x, pos_y, width, height, image)
|
||||
self.screen:pygame.Surface = screen
|
||||
self.speed = 10
|
||||
|
||||
self._id_count += 1
|
||||
if speed is None:
|
||||
self.speed = 10
|
||||
else:
|
||||
self.speed = speed
|
||||
self.shot = {name:self}
|
||||
#self.shot = {"id":self._id_count, name:self}
|
||||
self.shots.append(self.shot)
|
||||
|
||||
|
||||
def animate(self, direction):
|
||||
self.rect = pygame.draw.rect(self.screen, (190,4,21), (self.pos_x, self.pos_y, self.width, self.height))
|
||||
if(direction == "UP"):
|
||||
@@ -157,7 +169,6 @@ class Projectile(GameObject):
|
||||
self.pos_y += self.speed
|
||||
if(self.pos_y >= self.screen.get_size()[1]):
|
||||
pass
|
||||
#print()
|
||||
|
||||
class Item(GameObject):
|
||||
def __init__(self, name, pos_x, pos_y, width, height, image=None) -> None:
|
||||
|
||||
Reference in New Issue
Block a user