diff --git a/GameObject.py b/GameObject.py index 4ddc84f..cd3dbdc 100644 --- a/GameObject.py +++ b/GameObject.py @@ -4,10 +4,10 @@ class GameObject(object): objects = list() def __init__(self, name, pos_x, pos_y, width, height, image=None) -> None: self.name = name - self.pos_x = pos_x - self.pos_y = pos_y - self.width = width - self.height = height + self.pos_x:int = pos_x + self.pos_y:int = pos_y + self.width:int = width + self.height:int = height self.image = image self.rect:pygame.Rect self.objects.append(self) @@ -149,6 +149,10 @@ class Enemy(GameObject): if(y != 0): self.pos_y += y + + def movementqueue_run(self): + pass + class Projectile(GameObject): shots = list() _id_count = 0 diff --git a/test.py b/test.py index e3995e2..cba7791 100644 --- a/test.py +++ b/test.py @@ -6,8 +6,6 @@ import random import subprocess pygame.init() - - pygame.display.set_caption("TESTFENSTER") pygame.mouse.set_visible(True) #pygame.key.set_repeat(1, 30) @@ -65,17 +63,17 @@ while(gamestate): player1.handle_input(event) player2.handle_input(event) - if(player1.keymap["left"] == True): - player1.move("left") + if(player1.keymap["left"] == True and player1.pos_x > 0): + player1.move("left") #print("links") - if(player1.keymap["right"] == True): - player1.move("right") + if(player1.keymap["right"] == True and player1.pos_x <= (screen.get_size()[0]-player1.width)): + player1.move("right") #print("rechts") - if(player2.keymap["left"] == True): + if(player2.keymap["left"] == True and player2.pos_x > 0): player2.move("left") #print("links") - if(player2.keymap["right"] == True): + if(player2.keymap["right"] == True and player2.pos_x <= (screen.get_size()[0]-player2.width)): player2.move("right") #print("rechts") @@ -99,7 +97,6 @@ while(gamestate): player1.firecontrol(screen) player2.firecontrol(screen) - print("Spieler1 Lifes: ", player1.lifes) print("Spieler2 Lifes: ", player2.lifes) @@ -112,6 +109,10 @@ while(gamestate): #Check if player hits an enemy delete it for enemy in spawned_enemys: enemy:GameObject.Enemy + if(pygame.Rect.colliderect(player1.rect, player2.rect)): + #TODO: Laterrr!! + #print("Collision") + pass if(pygame.Rect.colliderect(projectile.rect, enemy.rect)): #print("HIT") #Check if only a playerhit despawn enemys @@ -135,14 +136,20 @@ while(gamestate): if(pygame.Rect.colliderect(projectile.rect, player1.rect)): #print("Game-Over") player1.lifes -= 1 - index = GameObject.Projectile.shots.index(projectiles) - del GameObject.Projectile.shots[index] + try: + index = GameObject.Projectile.shots.index(projectiles) + del GameObject.Projectile.shots[index] + except: + print("Error on indexing projectile") #TODO Add Gameover event if(pygame.Rect.colliderect(projectile.rect, player2.rect)): #print("Game-Over") player2.lifes -= 1 - index = GameObject.Projectile.shots.index(projectiles) - del GameObject.Projectile.shots[index] + try: + index = GameObject.Projectile.shots.index(projectiles) + del GameObject.Projectile.shots[index] + except: + print("Error on indexing projectile") #TODO Add Gameover event #Check for bullets out of playground and delete it @@ -167,11 +174,14 @@ while(gamestate): enemy:GameObject.Enemy if rand == 20: enemy.move(5) + #enemy.movementqueue.append(5) if rand == 50: enemy.move(-5) + #enemy.movementqueue.append(-5) rand1 = random.randint(0, 1000) if rand1 == 50: enemy.fire(screen) + enemy.render(screen) enemy.firecontrol(screen)