Some changes..
This commit is contained in:
@@ -35,10 +35,10 @@ class GameObject(object):
|
|||||||
self.height = height
|
self.height = height
|
||||||
|
|
||||||
class Player(GameObject):
|
class Player(GameObject):
|
||||||
shots_fired = list()
|
def __init__(self, name, screen, pos_x, pos_y, width, height, image=None) -> None:
|
||||||
def __init__(self, name, pos_x, pos_y, width, height, image=None) -> None:
|
|
||||||
super().__init__(name, pos_x, pos_y, width, height, image)
|
super().__init__(name, pos_x, pos_y, width, height, image)
|
||||||
self._speed = 10
|
self._speed = 10
|
||||||
|
self.screen = screen
|
||||||
|
|
||||||
def handle_input(self, event:pygame.event.EventType):
|
def handle_input(self, event:pygame.event.EventType):
|
||||||
keys =pygame.key.get_pressed()
|
keys =pygame.key.get_pressed()
|
||||||
@@ -56,7 +56,7 @@ class Player(GameObject):
|
|||||||
if(event.key == pygame.K_SPACE):
|
if(event.key == pygame.K_SPACE):
|
||||||
#Fiiirrreee in the hole
|
#Fiiirrreee in the hole
|
||||||
print("Feuer!")
|
print("Feuer!")
|
||||||
pass
|
self.fire(self.screen)
|
||||||
|
|
||||||
def move(self, x=0, y=0):
|
def move(self, x=0, y=0):
|
||||||
if x != 0:
|
if x != 0:
|
||||||
@@ -64,6 +64,24 @@ class Player(GameObject):
|
|||||||
if y != 0:
|
if y != 0:
|
||||||
self.pos_y += y
|
self.pos_y += y
|
||||||
|
|
||||||
|
def fire(self, screen):
|
||||||
|
shot = Projectile(self.name, self.pos_x+(self.width/2),self.pos_y-self.height,5,10, 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 == "Player"):
|
||||||
|
object.animate("UP")
|
||||||
|
#print("Playerschuss!")
|
||||||
|
|
||||||
|
if(key == "Enemy"):
|
||||||
|
print(object.pos_x, " ", object.pos_y)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class Enemy(GameObject):
|
class Enemy(GameObject):
|
||||||
shots_fired = list()
|
shots_fired = list()
|
||||||
def __init__(self, name, pos_x, pos_y, width, height, screen, image=None) -> None:
|
def __init__(self, name, pos_x, pos_y, width, height, screen, image=None) -> None:
|
||||||
@@ -71,14 +89,14 @@ class Enemy(GameObject):
|
|||||||
|
|
||||||
def fire(self, screen):
|
def fire(self, screen):
|
||||||
print("Schieße!!!!")
|
print("Schieße!!!!")
|
||||||
shot = Projectile(" ", self.pos_x+(self.width/2),self.pos_y+self.height,5,10, screen)
|
shot = Projectile("Enemy", self.pos_x+(self.width/2),self.pos_y+self.height,5,10, screen)
|
||||||
self.shots_fired.append(shot)
|
self.shots_fired.append(shot)
|
||||||
|
|
||||||
def shoot(self):
|
def shoot(self):
|
||||||
if(len(self.shots_fired) > 0):
|
if(len(self.shots_fired) > 0):
|
||||||
for shots in self.shots_fired:
|
for shots in self.shots_fired:
|
||||||
shots:Projectile
|
shots:Projectile
|
||||||
shots.animate()
|
shots.animate("DOWN")
|
||||||
|
|
||||||
def move(self, x=0, y=0):
|
def move(self, x=0, y=0):
|
||||||
if(x != 0):
|
if(x != 0):
|
||||||
@@ -87,11 +105,23 @@ class Enemy(GameObject):
|
|||||||
self.pos_y += y
|
self.pos_y += y
|
||||||
|
|
||||||
class Projectile(GameObject):
|
class Projectile(GameObject):
|
||||||
|
shots = list()
|
||||||
def __init__(self, name, pos_x, pos_y, width, height, screen, image=None) -> None:
|
def __init__(self, name, pos_x, pos_y, width, height, screen, image=None) -> None:
|
||||||
super().__init__(name, pos_x, pos_y, width, height, image)
|
super().__init__(name, pos_x, pos_y, width, height, image)
|
||||||
self.screen = screen
|
self.screen:pygame.Surface = screen
|
||||||
self.speed = 10
|
self.speed = 10
|
||||||
|
|
||||||
def animate(self):
|
self.shot = {name:self}
|
||||||
|
self.shots.append(self.shot)
|
||||||
|
|
||||||
|
|
||||||
|
def animate(self, direction):
|
||||||
self.rect = pygame.draw.rect(self.screen, (0,0,0), (self.pos_x, self.pos_y, self.width, self.height))
|
self.rect = pygame.draw.rect(self.screen, (0,0,0), (self.pos_x, self.pos_y, self.width, self.height))
|
||||||
|
if(direction == "UP"):
|
||||||
|
self.pos_y -= self.speed
|
||||||
|
if(direction == "DOWN"):
|
||||||
self.pos_y += self.speed
|
self.pos_y += self.speed
|
||||||
|
if(self.pos_y >= self.screen.get_size()[1]):
|
||||||
|
print()
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
3
test.py
3
test.py
@@ -19,7 +19,7 @@ testimage = Utils.load_image("Rastergrafik.png")
|
|||||||
#testimage.set_colorkey((255,0,255), pygame.RLEACCELOK)
|
#testimage.set_colorkey((255,0,255), pygame.RLEACCELOK)
|
||||||
|
|
||||||
enemy = GameObject.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)
|
player = GameObject.Player("Player", screen,(screen.get_size()[0]/2)-17, screen.get_size()[1]-100, 35, 35, testimage)
|
||||||
|
|
||||||
|
|
||||||
gamestate = True
|
gamestate = True
|
||||||
@@ -67,6 +67,7 @@ while(gamestate):
|
|||||||
enemy.move(-5)
|
enemy.move(-5)
|
||||||
|
|
||||||
enemy.shoot()
|
enemy.shoot()
|
||||||
|
player.firecontrol(screen)
|
||||||
|
|
||||||
player.render(screen)
|
player.render(screen)
|
||||||
enemy.render(screen)
|
enemy.render(screen)
|
||||||
|
|||||||
Reference in New Issue
Block a user