Added player2
This commit is contained in:
@@ -49,7 +49,6 @@ class Player(GameObject):
|
||||
|
||||
elif(event.type == pygame.KEYUP and event.key == pygame.K_LEFT):
|
||||
self.keymap["left"] = False
|
||||
|
||||
|
||||
if(event.type == pygame.KEYDOWN and event.key == pygame.K_RIGHT):
|
||||
self.keymap["right"] = True
|
||||
@@ -92,7 +91,30 @@ class Player(GameObject):
|
||||
#print(object.pos_x, " ", object.pos_y)
|
||||
pass
|
||||
|
||||
|
||||
class Player2(Player):
|
||||
def __init__(self, name, screen, pos_x, pos_y, width, height, image=None) -> None:
|
||||
super().__init__(name, screen, pos_x, pos_y, width, height, image)
|
||||
|
||||
def handle_input(self, event:pygame.event.EventType):
|
||||
if(event.type == pygame.KEYDOWN and event.key == pygame.K_a):
|
||||
self.keymap["left"] = True
|
||||
|
||||
elif(event.type == pygame.KEYUP and event.key == pygame.K_a):
|
||||
self.keymap["left"] = False
|
||||
|
||||
if(event.type == pygame.KEYDOWN and event.key == pygame.K_d):
|
||||
self.keymap["right"] = True
|
||||
|
||||
elif(event.type == pygame.KEYUP and event.key == pygame.K_d):
|
||||
self.keymap["right"] = False
|
||||
|
||||
if(event.type == pygame.KEYDOWN and event.key == pygame.K_t):
|
||||
#Fiiirrreee in the hole
|
||||
print("Feuer!")
|
||||
self.fire(self.screen)
|
||||
|
||||
|
||||
|
||||
|
||||
class Enemy(GameObject):
|
||||
shots_fired = list()
|
||||
@@ -128,7 +150,7 @@ class Projectile(GameObject):
|
||||
|
||||
|
||||
def animate(self, direction):
|
||||
self.rect = pygame.draw.rect(self.screen, (0,0,0), (self.pos_x, self.pos_y, self.width, self.height))
|
||||
self.rect = pygame.draw.rect(self.screen, (190,4,21), (self.pos_x, self.pos_y, self.width, self.height))
|
||||
if(direction == "UP"):
|
||||
self.pos_y -= self.speed
|
||||
if(direction == "DOWN"):
|
||||
@@ -137,4 +159,6 @@ class Projectile(GameObject):
|
||||
pass
|
||||
#print()
|
||||
|
||||
|
||||
class Item(GameObject):
|
||||
def __init__(self, name, pos_x, pos_y, width, height, image=None) -> None:
|
||||
super().__init__(name, pos_x, pos_y, width, height, image)
|
||||
64
test.py
64
test.py
@@ -9,7 +9,7 @@ pygame.init()
|
||||
pygame.display.set_caption("TESTFENSTER")
|
||||
pygame.mouse.set_visible(True)
|
||||
#pygame.key.set_repeat(1, 30)
|
||||
screen = pygame.display.set_mode((800,600))
|
||||
screen = pygame.display.set_mode((1024,768))
|
||||
|
||||
clock = pygame.time.Clock()
|
||||
|
||||
@@ -21,7 +21,9 @@ 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)
|
||||
player = GameObject.Player("Player", screen,(screen.get_size()[0]/2)-17, screen.get_size()[1]-100, 35, 35, 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()
|
||||
|
||||
@@ -39,21 +41,29 @@ pos_y = 50
|
||||
|
||||
while(gamestate):
|
||||
|
||||
screen.fill((255,255,255))
|
||||
screen.fill((8,31,61))
|
||||
|
||||
for event in pygame.event.get():
|
||||
if(event.type == pygame.QUIT):
|
||||
gamestate = False
|
||||
player.handle_input(event)
|
||||
player1.handle_input(event)
|
||||
player2.handle_input(event)
|
||||
|
||||
if(player.keymap["left"] == True):
|
||||
player.move("left")
|
||||
if(player1.keymap["left"] == True):
|
||||
player1.move("left")
|
||||
#print("links")
|
||||
if(player.keymap["right"] == True):
|
||||
player.move("right")
|
||||
if(player1.keymap["right"] == True):
|
||||
player1.move("right")
|
||||
#print("rechts")
|
||||
|
||||
image = screen.blit(testimage, (pos_x, pos_y))
|
||||
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()
|
||||
|
||||
@@ -61,16 +71,17 @@ while(gamestate):
|
||||
#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))
|
||||
#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]):
|
||||
#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]
|
||||
#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]
|
||||
|
||||
player.firecontrol(screen)
|
||||
player1.firecontrol(screen)
|
||||
player2.firecontrol(screen)
|
||||
|
||||
for projectiles in GameObject.Projectile.shots:
|
||||
projectiles:dict
|
||||
@@ -81,14 +92,20 @@ while(gamestate):
|
||||
enemy:GameObject.Enemy
|
||||
if(pygame.Rect.colliderect(projectile.rect, enemy.rect)):
|
||||
print("HIT")
|
||||
player.points += 10
|
||||
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: {player.points}")
|
||||
if(pygame.Rect.colliderect(projectile.rect, player.rect)):
|
||||
print("Game-OVer")
|
||||
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)):
|
||||
@@ -96,7 +113,8 @@ while(gamestate):
|
||||
index = GameObject.Projectile.shots.index(projectiles)
|
||||
del GameObject.Projectile.shots[index]
|
||||
|
||||
player.render(screen)
|
||||
player1.render(screen)
|
||||
player2.render(screen)
|
||||
|
||||
rand = random.randint(0, 100)
|
||||
for enemy in spawned_enemys:
|
||||
@@ -112,8 +130,8 @@ while(gamestate):
|
||||
enemy.render(screen)
|
||||
|
||||
|
||||
label1 = font1.render(F"Playerscore: {player.points}", True, (255,0,0))
|
||||
screen.blit(label1, (500,500))
|
||||
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):
|
||||
|
||||
Reference in New Issue
Block a user