import pygame import GameObject import Utils import random pygame.init() pygame.display.set_caption("TESTFENSTER") pygame.mouse.set_visible(True) #pygame.key.set_repeat(1, 30) screen = pygame.display.set_mode((1024,768)) clock = pygame.time.Clock() image_enemy = Utils.load_image("Rastergrafik.png") testimage = Utils.load_image("Rastergrafik.png") font1 = pygame.font.SysFont("Arial", 32) #testimage.set_colorkey((255,0,255), pygame.RLEACCELOK) enemy = GameObject.Enemy("Enemy-1", (screen.get_size()[0]/2) -30,30,35,35, screen, testimage) player1 = GameObject.Player("Player", screen,(screen.get_size()[0]/2)-17, screen.get_size()[1]-100, 35, 35, testimage) player2 = GameObject.Player2("Player2", 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 pos_y = 50 while(gamestate): screen.fill((8,31,61)) for event in pygame.event.get(): if(event.type == pygame.QUIT): gamestate = False player1.handle_input(event) player2.handle_input(event) if(player1.keymap["left"] == True): player1.move("left") #print("links") if(player1.keymap["right"] == True): player1.move("right") #print("rechts") if(player2.keymap["left"] == True): player2.move("left") #print("links") if(player2.keymap["right"] == True): player2.move("right") #print("rechts") #image = screen.blit(testimage, (pos_x, pos_y)) mouse_pos = pygame.mouse.get_pos() #print(mouse_pos) #print(image.topleft) #Gibt die Position einen Surfaces "obenlinks" aus #print(image.size) #Gibt die Größe eines Surfaces aus #max = tuple(map(lambda i, j : i+j, image.topleft, image.size)) #Wenn Mausposition X-Achse innerhalb Anfangsposition+Breite #if(mouse_pos[0] <= max[0] and mouse_pos[0] >= image.topleft[0]): #Wenn Mausposition Y-Achse innerhalb Anfangsposition+Höhe #if(mouse_pos[1] <= max[1] and mouse_pos[1] >= image.topleft[1]): #print("Treffer") #pos_x = mouse_pos[0] #pos_y = mouse_pos[1] player1.firecontrol(screen) player2.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 print(projectile.rect) for enemy in spawned_enemys: enemy:GameObject.Enemy if(pygame.Rect.colliderect(projectile.rect, enemy.rect)): print("HIT") player1.points += 10 player2.points += 10 index = spawned_enemys.index(enemy) del spawned_enemys[index] index = GameObject.Projectile.shots.index(projectiles) del GameObject.Projectile.shots[index] print(F"Player-Points: {player1.points}") print(F"Player-Points: {player2.points}") if(pygame.Rect.colliderect(projectile.rect, player1.rect)): print("Game-Over") #TODO Add Gameover event if(pygame.Rect.colliderect(projectile.rect, player2.rect)): print("Game-Over") #TODO Add Gameover event #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] player1.render(screen) player2.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) label1 = font1.render(F"Score: {player1.points}", True, (255,0,0)) screen.blit(label1, ((screen.get_size()[0]/2)-(label1.get_size()[0]/2), screen.get_size()[1]-50)) #if(mouse_pos <= (image.topleft+image.size) and mouse_pos >= image.topleft): # print("HIIIIITTT!!!!") clock.tick(60) pygame.display.flip()