Added some testsprites
Added 2 Player gamemode Some changes to get second player handled
This commit is contained in:
85
test.py
85
test.py
@@ -35,6 +35,7 @@ log.writeln("Loading images...")
|
||||
|
||||
image_enemy = Utils.load_image("Rastergrafik.png")
|
||||
testimage = Utils.load_image("Rastergrafik.png")
|
||||
spaceship = Utils.load_image("sprites/spaceship_1_transp.png", (255,0,255))
|
||||
|
||||
log.writeln("Setup fonts...")
|
||||
font1 = pygame.font.Font("/usr/share/fonts/TTF/Inconsolata-UltraExpandedExtraBold.ttf", 30)
|
||||
@@ -47,10 +48,14 @@ log.writeln(F"Git-Hash: {short_hash}")
|
||||
|
||||
#testimage.set_colorkey((255,0,255), pygame.RLEACCELOK)
|
||||
|
||||
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)
|
||||
players = [
|
||||
GameObject.Player("Player", screen,(screen.get_size()[0]/2)-17, screen.get_size()[1]-175, 60, 60, spaceship),
|
||||
#GameObject.Player2("Player2", screen,(screen.get_size()[0]/2)-17, screen.get_size()[1]-175, 60, 60, spaceship)
|
||||
]
|
||||
|
||||
player1 = GameObject.Player("Player", screen,(screen.get_size()[0]/2)-17, screen.get_size()[1]-175, 60, 60, spaceship)
|
||||
player2 = GameObject.Player2("Player2", screen,(screen.get_size()[0]/2)-17, screen.get_size()[1]-175, 60, 60, spaceship)
|
||||
|
||||
healthbar1 = interface.Healthbar(screen, "Player1", 25, screen.get_size()[1]-80, 300, 10, player1.get_health())
|
||||
|
||||
game.loadlevels()
|
||||
|
||||
@@ -97,25 +102,26 @@ while(gamestate):
|
||||
#Push F9 for window-mode
|
||||
if(event.type == pygame.KEYDOWN and event.key == pygame.K_F9):
|
||||
pygame.display.set_mode((RENDERING_SIZE))
|
||||
player1.handle_input(event)
|
||||
player2.handle_input(event)
|
||||
|
||||
for player in players:
|
||||
player:GameObject.Player
|
||||
player.handle_input(event)
|
||||
|
||||
for player in players:
|
||||
player:GameObject.Player
|
||||
if(player.keymap["left"] == True and player.pos_x > 0):
|
||||
player.move("left")
|
||||
#print("links")
|
||||
if(player.keymap["right"] == True and player.pos_x <= (screen.get_size()[0]-player.width)):
|
||||
player.move("right")
|
||||
|
||||
player.update_interface()
|
||||
player.render(screen)
|
||||
|
||||
|
||||
if(player1.keymap["left"] == True and player1.pos_x > 0):
|
||||
player1.move("left")
|
||||
#print("links")
|
||||
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 and player2.pos_x > 0):
|
||||
player2.move("left")
|
||||
#print("links")
|
||||
if(player2.keymap["right"] == True and player2.pos_x <= (screen.get_size()[0]-player2.width)):
|
||||
player2.move("right")
|
||||
#print("rechts")
|
||||
|
||||
game.run(screen)
|
||||
healthbar1.update(player1.get_health())
|
||||
healthbar1.render(screen)
|
||||
|
||||
player1.firecontrol(screen)
|
||||
player2.firecontrol(screen)
|
||||
|
||||
@@ -129,12 +135,7 @@ 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
|
||||
if(projectile.name == "Player" or projectile.name == "Player2"):
|
||||
player1.points += 10
|
||||
@@ -153,25 +154,18 @@ while(gamestate):
|
||||
|
||||
#TODO Buggy pygame colliderect is true until projectile passed the hole playrect
|
||||
# Life decrease only once!
|
||||
if(pygame.Rect.colliderect(projectile.rect, player1.rect)):
|
||||
#print("Game-Over")
|
||||
player1.get_damage(enemy.get_weapon().damage)
|
||||
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")
|
||||
player1.get_damage(enemy.get_weapon().damage)
|
||||
try:
|
||||
index = GameObject.Projectile.shots.index(projectiles)
|
||||
del GameObject.Projectile.shots[index]
|
||||
except:
|
||||
print("Error on indexing projectile")
|
||||
#TODO Add Gameover event
|
||||
|
||||
for player in players:
|
||||
player:GameObject.Player
|
||||
if(pygame.Rect.colliderect(projectile.rect, player.rect)):
|
||||
#print("Game-Over")
|
||||
player.get_damage(enemy.get_weapon().damage)
|
||||
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
|
||||
if((projectile.pos_y > screen.get_size()[1]) or (projectile.pos_y < 0)):
|
||||
#print(F"Lösche: {projectile}")
|
||||
@@ -181,11 +175,8 @@ while(gamestate):
|
||||
milliseconds = pygame.time.get_ticks()
|
||||
seconds = milliseconds / 1000
|
||||
now = time.time_ns()
|
||||
|
||||
player1.render(screen)
|
||||
player2.render(screen)
|
||||
|
||||
rand = random.randint(0, 100)
|
||||
|
||||
for enemy in spawned_enemys:
|
||||
enemy:GameObject.Enemy
|
||||
if rand == 20:
|
||||
|
||||
Reference in New Issue
Block a user