Added projectile chceck for hit
This commit is contained in:
@@ -41,6 +41,7 @@ class Player(GameObject):
|
||||
super().__init__(name, pos_x, pos_y, width, height, image)
|
||||
self._speed = 10
|
||||
self.screen = screen
|
||||
self.points = 0
|
||||
|
||||
def handle_input(self, event:pygame.event.EventType):
|
||||
|
||||
|
||||
60
test.py
60
test.py
@@ -21,6 +21,15 @@ testimage = Utils.load_image("Rastergrafik.png")
|
||||
enemy = GameObject.Enemy("Enemy-1", (screen.get_size()[0]/2) -30,30,35,35, screen, testimage)
|
||||
player = GameObject.Player("Player", screen,(screen.get_size()[0]/2)-17, screen.get_size()[1]-100, 35, 35, testimage)
|
||||
|
||||
spawned_enemys = list()
|
||||
|
||||
|
||||
i = 0
|
||||
startpos_x = 0
|
||||
for enemys in range(15):
|
||||
spawned_enemys.append(GameObject.Enemy(F"Enemy-{i}", startpos_x,30,35,35, screen, testimage))
|
||||
startpos_x += 50
|
||||
i += 1
|
||||
|
||||
gamestate = True
|
||||
pos_x = 50
|
||||
@@ -37,10 +46,10 @@ while(gamestate):
|
||||
|
||||
if(player.keymap["left"] == True):
|
||||
player.move("left")
|
||||
print("links")
|
||||
#print("links")
|
||||
if(player.keymap["right"] == True):
|
||||
player.move("right")
|
||||
print("rechts")
|
||||
#print("rechts")
|
||||
|
||||
image = screen.blit(testimage, (pos_x, pos_y))
|
||||
|
||||
@@ -62,21 +71,50 @@ while(gamestate):
|
||||
#Rendere alle Objecte in objects Liste
|
||||
|
||||
|
||||
rand = random.randint(0, 100)
|
||||
|
||||
if rand == 50:
|
||||
enemy.fire(screen)
|
||||
|
||||
if rand == 20:
|
||||
enemy.move(5)
|
||||
if rand == 50:
|
||||
enemy.move(-5)
|
||||
|
||||
enemy.shoot()
|
||||
|
||||
player.firecontrol(screen)
|
||||
|
||||
|
||||
for projectiles in GameObject.Projectile.shots:
|
||||
projectiles:dict
|
||||
for key, projectile in projectiles.items():
|
||||
projectile:GameObject.Projectile
|
||||
#Check if player hits an enemy delete it
|
||||
for enemy in spawned_enemys:
|
||||
enemy:GameObject.Enemy
|
||||
if(pygame.Rect.colliderect(projectile.rect, enemy.rect)):
|
||||
print("HIT")
|
||||
player.points += 10
|
||||
index = spawned_enemys.index(enemy)
|
||||
del spawned_enemys[index]
|
||||
print(F"Player-Points: {player.points}")
|
||||
if(pygame.Rect.colliderect(projectile.rect, player.rect)):
|
||||
print("Game-OVer")
|
||||
|
||||
#Check for bullets out of playground and delete it
|
||||
if((projectile.pos_y > screen.get_size()[1]) or (projectile.pos_y < 0)):
|
||||
#print(F"Lösche: {projectile}")
|
||||
index = GameObject.Projectile.shots.index(projectiles)
|
||||
del GameObject.Projectile.shots[index]
|
||||
|
||||
player.render(screen)
|
||||
enemy.render(screen)
|
||||
|
||||
rand = random.randint(0, 100)
|
||||
for enemy in spawned_enemys:
|
||||
enemy:GameObject.Enemy
|
||||
|
||||
if rand == 50:
|
||||
enemy.fire(screen)
|
||||
if rand == 20:
|
||||
enemy.move(5)
|
||||
if rand == 50:
|
||||
enemy.move(-5)
|
||||
enemy.shoot()
|
||||
enemy.render(screen)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user