Skip to content

Commit a9c71a1

Browse files
committed
Added Scoreboard and Game-Over Screen
1 parent d3f5f8b commit a9c71a1

File tree

1 file changed

+44
-31
lines changed

1 file changed

+44
-31
lines changed

main.py

+44-31
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ def __init__(self, xEnemy, yEnemy):
1616
self.rect = self.image.get_rect()
1717
self.xEnemy = xEnemy
1818
self.yEnemy = yEnemy
19-
self.enemySpeed = 0.4
19+
self.enemySpeed = 1
2020

2121
class Bullet(pygame.sprite.Sprite):
2222
def __init__(self, xBullet, yBullet):
@@ -50,18 +50,18 @@ def enemy_movement(yEnemy, enemySpeed): #Enemy movement using Keyboard.
5050
return yEnemy
5151

5252
def bullet_movement(img, xBullet, yBullet, bulletSpeed, xPlayer):
53-
if pygame.mouse.get_pressed() == (1, 0, 0) and yBullet == 500:
53+
if pygame.mouse.get_pressed() == (1, 0, 0) and yBullet == 530:
5454
xBullet = xPlayer+24
5555
if pygame.mouse.get_pressed() == (1, 0, 0):
5656
yBullet -= bulletSpeed
5757
if yBullet < 0:
58-
yBullet = 500
58+
yBullet = 530
5959
xBullet = xPlayer+24
6060
return xBullet, yBullet
61-
elif pygame.mouse.get_pressed() == (0, 0, 0) and yBullet < 500:
61+
elif pygame.mouse.get_pressed() == (0, 0, 0) and yBullet < 530:
6262
yBullet -= bulletSpeed
6363
if yBullet < 0:
64-
yBullet = 500
64+
yBullet = 530
6565
xBullet = xPlayer+24
6666
return xBullet, yBullet
6767
return xPlayer+24, yBullet
@@ -72,38 +72,51 @@ def bullet_movement(img, xBullet, yBullet, bulletSpeed, xPlayer):
7272
showCanvas = True
7373
background = pygame.image.load('./images/background.png')
7474
player = Player(370, 510)
75-
bullet = Bullet(500, 500)
76-
hitFlag = 0
75+
bullet = Bullet(500, 530)
76+
gameFlag = 0
7777
score = 0
78-
enemies = [Enemy(random.randint(0, 200), random.randint(0, 100)),
79-
Enemy(random.randint(250, 500), random.randint(0, 100)),
80-
Enemy(random.randint(550, 700), random.randint(0, 100))]
78+
enemies = [Enemy(random.randint(0, 100), random.randint(0, 100)),
79+
Enemy(random.randint(0, 300), random.randint(0, 100)),
80+
Enemy(random.randint(0, 400), random.randint(0, 100)),
81+
Enemy(random.randint(0, 600), random.randint(0, 100)),
82+
Enemy(random.randint(0, 700), random.randint(0, 100))]
8183
enemySprites = pygame.sprite.Group()
8284
allSprites = pygame.sprite.Group()
8385
enemySprites.add(enemies)
8486
allSprites.add(enemies, bullet)
87+
scoreFont = pygame.font.SysFont(None, 40)
88+
gameOverFont = pygame.font.SysFont(None, 100)
8589
while showCanvas:
86-
canvas.fill((0, 0, 0))
87-
canvas.blit(background, (0, 0))
88-
canvas.blit(player.img, (player.xPlayer, player.yPlayer))
89-
for enemy in enemies:
90-
enemy.yEnemy = enemy_movement(enemy.yEnemy, enemy.enemySpeed)
91-
enemy.rect.y = enemy.yEnemy
92-
enemy.rect.x = enemy.xEnemy
93-
player.xPlayer = player_movement(player.xPlayer, player.playerSpeed)
94-
bullet.rect.x, bullet.rect.y = bullet_movement(bullet.image, bullet.rect.x, bullet.rect.y, bullet.bulletSpeed, player.xPlayer)
95-
allSprites.draw(canvas)
96-
97-
blocks_hit_list = pygame.sprite.spritecollide(bullet, enemySprites, True)
98-
for block in blocks_hit_list:
99-
score +=1
100-
hitFlag = 1
101-
print(score)
102-
if hitFlag == 1:
103-
bullet.yBullet = 500
104-
hitFlag = 0
105-
106-
90+
if gameFlag == 0:
91+
canvas.fill((0, 0, 0))
92+
canvas.blit(background, (0, 0))
93+
scoreImg = scoreFont.render(f"Score : {str(score)}", True, (0,255,0))
94+
canvas.blit(scoreImg, (20, 20))
95+
for enemy in enemies:
96+
enemy.yEnemy = enemy_movement(enemy.yEnemy, enemy.enemySpeed)
97+
enemy.rect.y = enemy.yEnemy
98+
enemy.rect.x = enemy.xEnemy
99+
if enemy.rect.y >= 420:
100+
gameFlag = 1
101+
player.xPlayer = player_movement(player.xPlayer, player.playerSpeed)
102+
bullet.rect.x, bullet.rect.y = bullet_movement(bullet.image, bullet.rect.x, bullet.rect.y, bullet.bulletSpeed, player.xPlayer)
103+
allSprites.draw(canvas)
104+
canvas.blit(player.img, (player.xPlayer, player.yPlayer))
105+
blocks_hit_list = pygame.sprite.spritecollide(bullet, enemySprites, False)
106+
for block in blocks_hit_list:
107+
score +=1
108+
block.xEnemy = random.randint(0, 700)
109+
block.yEnemy = random.randint(0, 200)
110+
bullet.rect.y = 530
111+
hitFlag = 0
112+
elif gameFlag == 1:
113+
gameOverImg = gameOverFont.render("GAME OVER", True, (0,255,0))
114+
canvas.blit(background, (0, 0))
115+
canvas.blit(player.img, (player.xPlayer, player.yPlayer))
116+
allSprites.draw(canvas)
117+
canvas.blit(gameOverImg, (400/2, 300/2))
118+
canvas.blit(scoreImg, (700/2, 500/2))
119+
107120
#Checking Events and Updating Canvas
108121
showCanvas = check_events()
109122
pygame.display.update()

0 commit comments

Comments
 (0)