-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathobstacle.py
49 lines (40 loc) · 1.54 KB
/
obstacle.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
import random
class Obstacle:
def __init__(self, image, type, SCREEN_WIDTH, game_speed, obstacles):
self.image = image
self.type = type
self.rect = self.image[self.type].get_rect()
self.rect.x = SCREEN_WIDTH
self.game_speed = game_speed
self.obstacles = obstacles
def update(self):
self.rect.x -= self.game_speed
if self.rect.x < -self.rect.width:
self.obstacles.pop()
def getX(self):
return self.rect.x
def getY(self):
return self.rect.y
def draw(self, SCREEN):
SCREEN.blit(self.image[self.type], self.rect)
class SmallCactus(Obstacle):
def __init__(self, image, SCREEN_WIDTH, Y_POS, game_speed, obstacles):
self.type = random.randint(0, 2)
super().__init__(image, self.type, SCREEN_WIDTH, game_speed, obstacles)
self.rect.y = Y_POS+15
class LargeCactus(Obstacle):
def __init__(self, image, SCREEN_WIDTH, Y_POS, game_speed, obstacles):
self.type = random.randint(0, 2)
super().__init__(image, self.type, SCREEN_WIDTH, game_speed, obstacles)
self.rect.y = Y_POS-10
class Bird(Obstacle):
def __init__(self, image, SCREEN_WIDTH, Y_POS, game_speed, obstacles):
self.type = 0
super().__init__(image, self.type, SCREEN_WIDTH, game_speed, obstacles)
self.rect.y = Y_POS-60
self.index = 0
def draw(self, SCREEN):
if self.index >= 9:
self.index = 0
SCREEN.blit(self.image[self.index//5], self.rect)
self.index += 1