@@ -16,7 +16,7 @@ def __init__(self, xEnemy, yEnemy):
16
16
self .rect = self .image .get_rect ()
17
17
self .xEnemy = xEnemy
18
18
self .yEnemy = yEnemy
19
- self .enemySpeed = 0.4
19
+ self .enemySpeed = 1
20
20
21
21
class Bullet (pygame .sprite .Sprite ):
22
22
def __init__ (self , xBullet , yBullet ):
@@ -50,18 +50,18 @@ def enemy_movement(yEnemy, enemySpeed): #Enemy movement using Keyboard.
50
50
return yEnemy
51
51
52
52
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 :
54
54
xBullet = xPlayer + 24
55
55
if pygame .mouse .get_pressed () == (1 , 0 , 0 ):
56
56
yBullet -= bulletSpeed
57
57
if yBullet < 0 :
58
- yBullet = 500
58
+ yBullet = 530
59
59
xBullet = xPlayer + 24
60
60
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 :
62
62
yBullet -= bulletSpeed
63
63
if yBullet < 0 :
64
- yBullet = 500
64
+ yBullet = 530
65
65
xBullet = xPlayer + 24
66
66
return xBullet , yBullet
67
67
return xPlayer + 24 , yBullet
@@ -72,38 +72,51 @@ def bullet_movement(img, xBullet, yBullet, bulletSpeed, xPlayer):
72
72
showCanvas = True
73
73
background = pygame .image .load ('./images/background.png' )
74
74
player = Player (370 , 510 )
75
- bullet = Bullet (500 , 500 )
76
- hitFlag = 0
75
+ bullet = Bullet (500 , 530 )
76
+ gameFlag = 0
77
77
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 ))]
81
83
enemySprites = pygame .sprite .Group ()
82
84
allSprites = pygame .sprite .Group ()
83
85
enemySprites .add (enemies )
84
86
allSprites .add (enemies , bullet )
87
+ scoreFont = pygame .font .SysFont (None , 40 )
88
+ gameOverFont = pygame .font .SysFont (None , 100 )
85
89
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
+
107
120
#Checking Events and Updating Canvas
108
121
showCanvas = check_events ()
109
122
pygame .display .update ()
0 commit comments