Added splash & end screens beta
This commit is contained in:
parent
2973df597e
commit
aedbd71588
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
data/graphics/end0.png
Normal file
BIN
data/graphics/end0.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 7.8 KiB |
BIN
data/graphics/endp1.png
Normal file
BIN
data/graphics/endp1.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 3.6 KiB |
BIN
data/graphics/endp2.png
Normal file
BIN
data/graphics/endp2.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 3.6 KiB |
Binary file not shown.
Before Width: | Height: | Size: 158 B |
Binary file not shown.
Before Width: | Height: | Size: 580 B |
@ -26,14 +26,13 @@ timer2=1000
|
|||||||
|
|
||||||
bars=[]
|
bars=[]
|
||||||
|
|
||||||
bars.append(HPBar(200,886))
|
|
||||||
bars.append(HPBar(570,886))
|
|
||||||
|
|
||||||
def events():
|
def events():
|
||||||
global running
|
global running
|
||||||
for event in pygame.event.get():
|
for event in pygame.event.get():
|
||||||
if event.type == pygame.QUIT:
|
if event.type == pygame.QUIT:
|
||||||
running=False
|
pygame.quit()
|
||||||
|
sys.exit()
|
||||||
|
#running=False
|
||||||
|
|
||||||
def collision_check(p):
|
def collision_check(p):
|
||||||
# collision between players
|
# collision between players
|
||||||
|
69
mygame.py
69
mygame.py
@ -17,15 +17,14 @@ pygame.init()
|
|||||||
pygame.display.set_caption(WIN_NAME)
|
pygame.display.set_caption(WIN_NAME)
|
||||||
clock=pygame.time.Clock()
|
clock=pygame.time.Clock()
|
||||||
|
|
||||||
# initialize two players
|
# init resources
|
||||||
|
|
||||||
|
bg=load_img_noalpha("bg.png")
|
||||||
|
splash=load_img_noalpha("splash.png")
|
||||||
|
end=load_img_noalpha("end0.png")
|
||||||
|
p2end=load_img_noalpha("endp1.png")
|
||||||
|
p1end=load_img_noalpha("endp2.png")
|
||||||
|
|
||||||
events.players.append(Player('p1', 400, 100, 10))
|
|
||||||
events.players.append(Player('p2', 430, 300, 10))
|
|
||||||
events.p1_group.add(events.players[0])
|
|
||||||
events.p2_group.add(events.players[1])
|
|
||||||
all_sprites.add(events.players)
|
|
||||||
events.running=True
|
|
||||||
all_sprites.add(events.bars)
|
|
||||||
# debug text
|
# debug text
|
||||||
|
|
||||||
font=pygame.font.SysFont("Arial", 12)
|
font=pygame.font.SysFont("Arial", 12)
|
||||||
@ -40,25 +39,69 @@ def draw_debug_text():
|
|||||||
screen.blit(text, (0,count*12))
|
screen.blit(text, (0,count*12))
|
||||||
count+=1
|
count+=1
|
||||||
|
|
||||||
bg, bg_rect=load_img_noalpha("bg.png")
|
def init_round():
|
||||||
splash, splash_rect=load_img_noalpha("splash.png")
|
events.players.append(Player('p1', 400, 100, 10))
|
||||||
|
events.players.append(Player('p2', 430, 300, 10))
|
||||||
|
events.p1_group.add(events.players[0])
|
||||||
|
events.p2_group.add(events.players[1])
|
||||||
|
all_sprites.add(events.players)
|
||||||
|
events.running=True
|
||||||
|
events.bars.append(HPBar(200,886))
|
||||||
|
events.bars.append(HPBar(570,886))
|
||||||
|
all_sprites.add(events.bars)
|
||||||
|
|
||||||
|
def clear_round():
|
||||||
|
events.players[0].delete()
|
||||||
|
events.players[1].delete()
|
||||||
|
for i in events.p1_bullet:
|
||||||
|
i.delete()
|
||||||
|
for i in events.p2_bullet:
|
||||||
|
i.delete()
|
||||||
|
events.p1_group.remove()
|
||||||
|
events.p2_group.remove()
|
||||||
|
events.players.clear()
|
||||||
|
events.bars.clear()
|
||||||
|
events.p1_bullet.clear()
|
||||||
|
events.p2_bullet.clear()
|
||||||
|
events.p1_bullet_group.remove()
|
||||||
|
events.p2_bullet_group.remove()
|
||||||
|
all_sprites.remove()
|
||||||
|
|
||||||
def waitforkey():
|
def waitforkey():
|
||||||
waiting=True
|
waiting=True
|
||||||
while waiting:
|
while waiting:
|
||||||
clock.tick(FPS)
|
clock.tick(FPS)
|
||||||
|
pygame.event.pump()
|
||||||
|
events.event_handler()
|
||||||
keys=pygame.key.get_pressed()
|
keys=pygame.key.get_pressed()
|
||||||
if keys[pygame.K_SPACE]:
|
if keys[pygame.K_SPACE]:
|
||||||
waiting=False
|
waiting=False
|
||||||
|
if keys[pygame.K_ESCAPE]:
|
||||||
|
pygame.quit()
|
||||||
|
sys.exit()
|
||||||
|
|
||||||
def startscreen():
|
def startscreen():
|
||||||
screen.blit(splash,(0,0))
|
screen.blit(splash,(0,0))
|
||||||
pygame.display.flip()
|
pygame.display.flip()
|
||||||
waitforkey()
|
waitforkey()
|
||||||
|
|
||||||
|
def endscreen():
|
||||||
|
if events.players[0].hp<=0 and events.players[1].hp<=0: #both players dead
|
||||||
|
screen.blit(end,(0,0))
|
||||||
|
elif events.players[0].hp<=0:
|
||||||
|
screen.blit(p1end,(0,0))
|
||||||
|
elif events.players[1].hp<=0:
|
||||||
|
screen.blit(p2end,(0,0))
|
||||||
|
pygame.display.flip()
|
||||||
|
waitforkey()
|
||||||
|
|
||||||
# game loop
|
# game loop
|
||||||
|
firstrun=True
|
||||||
while events.mainloop:
|
while events.mainloop:
|
||||||
#startscreen()
|
init_round()
|
||||||
|
if firstrun:
|
||||||
|
startscreen()
|
||||||
|
pygame.event.clear()
|
||||||
while events.running:
|
while events.running:
|
||||||
clock.tick(FPS)
|
clock.tick(FPS)
|
||||||
# events
|
# events
|
||||||
@ -74,6 +117,8 @@ while events.mainloop:
|
|||||||
#draw_debug_text()
|
#draw_debug_text()
|
||||||
all_sprites.draw(screen)
|
all_sprites.draw(screen)
|
||||||
pygame.display.flip()
|
pygame.display.flip()
|
||||||
print('asd')
|
endscreen()
|
||||||
|
clear_round()
|
||||||
|
firstrun=False
|
||||||
pygame.quit()
|
pygame.quit()
|
||||||
sys.exit()
|
sys.exit()
|
10
sprites.py
10
sprites.py
@ -20,8 +20,7 @@ def load_img(name):
|
|||||||
def load_img_noalpha(name):
|
def load_img_noalpha(name):
|
||||||
img_path=os.path.join('data/graphics', name)
|
img_path=os.path.join('data/graphics', name)
|
||||||
image=pygame.image.load(img_path).convert()
|
image=pygame.image.load(img_path).convert()
|
||||||
colorkey=image.get_at((0,0))
|
return image
|
||||||
return image, image.get_rect()
|
|
||||||
|
|
||||||
def load_sound(name):
|
def load_sound(name):
|
||||||
sound_path=os.path.join('data/sounds')
|
sound_path=os.path.join('data/sounds')
|
||||||
@ -112,6 +111,9 @@ class Player(pygame.sprite.Sprite):
|
|||||||
def update(self):
|
def update(self):
|
||||||
self.move()
|
self.move()
|
||||||
|
|
||||||
|
def delete(self):
|
||||||
|
self.kill()
|
||||||
|
|
||||||
class Bullet(pygame.sprite.Sprite):
|
class Bullet(pygame.sprite.Sprite):
|
||||||
def __init__(self, fname, x, y, direction):
|
def __init__(self, fname, x, y, direction):
|
||||||
pygame.sprite.Sprite.__init__(self)
|
pygame.sprite.Sprite.__init__(self)
|
||||||
@ -136,6 +138,9 @@ class Bullet(pygame.sprite.Sprite):
|
|||||||
if not pygame.sprite.spritecollideany(self, maps.bwalls, collided = None)==None:
|
if not pygame.sprite.spritecollideany(self, maps.bwalls, collided = None)==None:
|
||||||
self.kill()
|
self.kill()
|
||||||
|
|
||||||
|
def delete(self):
|
||||||
|
self.kill()
|
||||||
|
|
||||||
class HPBar(pygame.sprite.Sprite):
|
class HPBar(pygame.sprite.Sprite):
|
||||||
def __init__(self, x, y):
|
def __init__(self, x, y):
|
||||||
pygame.sprite.Sprite.__init__(self)
|
pygame.sprite.Sprite.__init__(self)
|
||||||
@ -147,6 +152,7 @@ class HPBar(pygame.sprite.Sprite):
|
|||||||
|
|
||||||
def gothit(self):
|
def gothit(self):
|
||||||
self.width-=int(150*(BULLET_DMG/100))
|
self.width-=int(150*(BULLET_DMG/100))
|
||||||
|
self.width=max([self.width, 0])
|
||||||
self.image=pygame.transform.scale(self.image, (self.width, 30))
|
self.image=pygame.transform.scale(self.image, (self.width, 30))
|
||||||
|
|
||||||
def update(self):
|
def update(self):
|
||||||
|
Loading…
Reference in New Issue
Block a user