diff --git a/GameObject.py b/GameObject.py index 8da68d8..8583d65 100644 --- a/GameObject.py +++ b/GameObject.py @@ -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): diff --git a/test.py b/test.py index 35fb9ec..acdffa3 100644 --- a/test.py +++ b/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) +