Skip to content

Commit d897683

Browse files
committed
fixed obstacles
1 parent e07dc85 commit d897683

File tree

4 files changed

+37
-19
lines changed

4 files changed

+37
-19
lines changed

Car Racing 2d/Assets/arrows.png

-8.01 KB
Binary file not shown.
-5.46 KB
Binary file not shown.

Car Racing 2d/main.py

Lines changed: 16 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import pygame
22
import random
3-
from objects import Road, Player, Nitro, Tree, Button, Enemy
3+
from objects import Road, Player, Nitro, Tree, Button, \
4+
Obstacle
45

56
pygame.init()
67
SCREEN = WIDTH, HEIGHT = 288, 512
@@ -71,12 +72,12 @@ def center(image):
7172
p = Player(100, HEIGHT-120, car_type)
7273

7374
tree_group = pygame.sprite.Group()
74-
enemy_group = pygame.sprite.Group()
75+
obstacle_group = pygame.sprite.Group()
7576

7677
# VARIABLES *******************************************************************
77-
home_page = False
78+
home_page = True
7879
car_page = False
79-
game_page = True
80+
game_page = False
8081

8182
move_left = False
8283
move_right = False
@@ -160,12 +161,16 @@ def center(image):
160161

161162
counter += counter_inc
162163
if counter % 60 == 0:
163-
t = Tree(random.choice([-5, WIDTH-35]), -20)
164-
tree_group.add(t)
164+
tree = Tree(random.choice([-5, WIDTH-35]), -20)
165+
tree_group.add(tree)
165166

166167
if counter % 90 == 0:
167-
enemy = Enemy(random.randint(1, 8))
168-
enemy_group.add(enemy)
168+
obs = random.choices([1, 2, 3], weights=[6,2,2], k=1)[0]
169+
obstacle = Obstacle(obs)
170+
obstacle_group.add(obstacle)
171+
172+
if counter >= 10000:
173+
counter = 0
169174

170175
if nitro_on and nitro.gas > 0:
171176
x, y = p.rect.centerx - 8, p.rect.bottom - 10
@@ -175,16 +180,16 @@ def center(image):
175180
speed = 10
176181
if counter_inc == 1:
177182
counter = 0
178-
counter_inc = 3
183+
counter_inc = 5
179184

180185
if nitro.gas <= 0:
181186
speed = 3
182187
counter_inc = 1
183188

184189
nitro.update(nitro_on)
185190
nitro.draw(win)
186-
enemy_group.update(speed)
187-
enemy_group.draw(win)
191+
obstacle_group.update(speed)
192+
obstacle_group.draw(win)
188193
tree_group.update(speed)
189194
tree_group.draw(win)
190195

Car Racing 2d/objects.py

Lines changed: 21 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@
88
RED = (255, 0, 0)
99
YELLOW = (255, 255, 0)
1010

11+
lane_pos = [50, 95, 142, 190]
12+
1113
class Road():
1214
def __init__(self):
1315
self.image = pygame.image.load('Assets/road.png')
@@ -22,9 +24,9 @@ def update(self, speed):
2224
self.y2 += speed
2325

2426
if self.y1 >= HEIGHT:
25-
self.y1 = -HEIGHT + 30
27+
self.y1 = -HEIGHT
2628
if self.y2 >= HEIGHT:
27-
self.y2 = -HEIGHT + 30
29+
self.y2 = -HEIGHT
2830

2931
def draw(self, win):
3032
win.blit(self.image, (self.x, self.y1))
@@ -87,14 +89,25 @@ def draw(self, win):
8789
y = round(self.CENTER[1] + self.radius * math.sin(i * math.pi / 180))
8890
pygame.draw.circle(win, YELLOW, (x, y), 1)
8991

90-
class Enemy(pygame.sprite.Sprite):
92+
class Obstacle(pygame.sprite.Sprite):
9193
def __init__(self, type):
92-
super(Enemy, self).__init__()
93-
self.image = pygame.image.load(f'Assets/cars/{type}.png')
94-
self.image = pygame.transform.flip(self.image, False, True)
95-
self.image = pygame.transform.scale(self.image, (48, 82))
94+
super(Obstacle, self).__init__()
95+
dx = 0
96+
if type == 1:
97+
ctype = random.randint(1, 8)
98+
self.image = pygame.image.load(f'Assets/cars/{ctype}.png')
99+
self.image = pygame.transform.flip(self.image, False, True)
100+
self.image = pygame.transform.scale(self.image, (48, 82))
101+
if type == 2:
102+
self.image = pygame.image.load('Assets/barrel.png')
103+
self.image = pygame.transform.scale(self.image, (24, 36))
104+
dx = 10
105+
elif type == 3:
106+
self.image = pygame.image.load('Assets/roadblock.png')
107+
self.image = pygame.transform.scale(self.image, (50, 25))
108+
96109
self.rect = self.image.get_rect()
97-
self.rect.x = random.choice([50, 95, 142, 190])
110+
self.rect.x = random.choice(lane_pos) + dx
98111
self.rect.y = -100
99112

100113
def update(self, speed):

0 commit comments

Comments
 (0)