Skip to content

Commit 968ee1a

Browse files
sweet
1 parent 0e06dc0 commit 968ee1a

File tree

7 files changed

+81
-14
lines changed

7 files changed

+81
-14
lines changed

car.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ def update(self, dt):
4040
self.map.handle_boosters(self)
4141
self.handle_collision_facilitator()
4242

43-
print("speed b4 everything: ", self.speed)
43+
#print("speed b4 everything: ", self.speed)
4444

4545
if self.boosters["freeze"][0]:
4646
self.speed = 0
@@ -61,8 +61,8 @@ def update(self, dt):
6161

6262
self.collision_facilitator = [True, pg.time.get_ticks() * 8]
6363

64-
print("Speed after collision: ", self.speed)
65-
print("_-----------------------_")
64+
#print("Speed after collision: ", self.speed)
65+
#print("_-----------------------_")
6666

6767

6868
new_traction = self.map.handle_collision_with_sufraces(self)

data/Records.csv

Lines changed: 32 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -994,4 +994,35 @@ supra_new,map1,4839,Player 1
994994
supra_new,map1,17663,Player 1
995995
supra_new,map1,12519,Player 1
996996
supra_new,map1,11388,Player 1
997-
supra_new,map1,8712,Player 1
997+
supra_new,map1,8712,Player 1
998+
supra_new,map1,11441,Player 1
999+
supra_new,map1,15126,Player 1
1000+
supra_new,map1,17136,Player 1
1001+
supra_new,map1,8882,Player 1
1002+
supra_new,map1,16456,Player 1
1003+
supra_new,map1,9369,Player 1
1004+
supra_new,map1,58079,Player 1
1005+
supra_new,map1,23181,Player 1
1006+
supra_new,map1,10686,Player 1
1007+
supra_new,map1,8875,Player 1
1008+
supra_new,map1,10709,Player 1
1009+
supra_new,map1,10526,Player 1
1010+
supra_new,map1,8537,Player 1
1011+
supra_new,map1,8757,Player 1
1012+
ferrari458,map2,23877,Player 1
1013+
supra_new,map1,10995,Player 1
1014+
supra_new,map1,8518,Player 1
1015+
supra_new,map1,8596,Player 1
1016+
supra_new,map1,8352,Player 1
1017+
supra_new,map1,12518,Player 1
1018+
supra_new,map1,12362,Player 1
1019+
supra_new,map1,10800,Player 1
1020+
supra_new,map1,11034,Player 1
1021+
supra_new,map1,8639,Player 1
1022+
supra_new,map1,19147,Player 1
1023+
supra_new,map1,12420,Player 1
1024+
supra_new,map1,8935,Player 1
1025+
supra_new,map1,12204,Player 1
1026+
supra_new,map1,12819,Player 1
1027+
supra_new,map1,20929,Player 1
1028+
supra_new,map1,13593,Player 1

engine.py

Lines changed: 42 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,17 +13,23 @@
1313
from CSVParser import CSVParser
1414

1515
class Results:
16-
def __init__(self, x, y, w, h, bg_color, color, font):
16+
def __init__(self, x, y, w, h, bg_color, color, font, button_font):
1717
self.x = x
1818
self.y = y
1919
self.w = w
2020
self.h = h
2121
self.bg_color = bg_color
2222
self.color = color
2323
self.font = font
24+
self.button_font = button_font
2425
self.bg_rect = pg.Rect(x,y,w,h)
2526
self.finished_rect = pg.Rect(x + 10, y + 10, w - 20, 40)
26-
def draw(self, surf, times):
27+
self.return_to_menu_rect = pg.Rect(x + 10, y + h - 30, w//2 - 20, 25)
28+
self.restart_rect = pg.Rect(x + w//2 + 10, y + h - 30, w//2 - 20, 25)
29+
self.return_text_rect = pg.Rect(x + 10, y + h - 30, w//2 - 20, 25)
30+
self.restart_text_rect = pg.Rect(x + w//2 + 10, y + h - 30, w//2 - 20, 25)
31+
32+
def draw(self, surf, times, pressed):
2733
pg.draw.rect(surf, self.bg_color, self.bg_rect)
2834
pg.draw.rect(surf, self.color, self.finished_rect)
2935
finished = self.font.render("FINISHED!", 1, (0,0,0))
@@ -32,6 +38,30 @@ def draw(self, surf, times):
3238
for i in range(6):
3339
t = self.font.render(times[i], 1, (0,0,0))
3440
surf.blit(t, t.get_rect(center=results[i].center))
41+
42+
return_button = pg.draw.rect(surf, self.color, self.return_to_menu_rect)
43+
restart_button = pg.draw.rect(surf, self.color, self.restart_rect)
44+
return_text = self.button_font.render("Return",1,(0,0,0))
45+
restart_text = self.button_font.render("Restart",1,(0,0,0))
46+
surf.blit(return_text, return_text.get_rect(center = self.return_text_rect.center))
47+
surf.blit(restart_text, restart_text.get_rect(center = self.restart_text_rect.center))
48+
if return_button.collidepoint(pg.mouse.get_pos()):
49+
return_color = (240,230,140)
50+
if pressed:
51+
return 0
52+
else:
53+
return_color = (100,200,255)
54+
55+
if restart_button.collidepoint(pg.mouse.get_pos()):
56+
restart_color = (240,230,140)
57+
if pressed:
58+
return 1
59+
else:
60+
restart_color = (100,200,255)
61+
62+
pg.draw.rect(return_text, return_color, [self.x + 10, self.y + self.h - 30, self.w//2 - 20, 25])
63+
pg.draw.rect(restart_text, restart_color, [self.x + self.w//2 + 10, self.y + self.h - 30, self.w//2 - 20, 25])
64+
return 2
3565

3666
class NitroBar():
3767
def __init__(self, x, y, w, h, bg_color, color, font):
@@ -63,7 +93,7 @@ def __init__(self, refresh_rate, name, car, map):
6393
self.car = car
6494
self.map = map
6595
self.nitro_bar = NitroBar(5, 5, 250, 40, (240, 230, 140), (100, 100, 255), pg.font.SysFont('Calibri', 35))
66-
self.results_popup = Results(1480//2-300//2, 780//2-400//2, 300, 400, (240, 230, 140), (100, 100, 255), pg.font.SysFont('Calibri', 35))
96+
self.results_popup = Results(1480//2-300//2, 780//2-400//2, 300, 400, (240, 230, 140), (100, 100, 255), pg.font.SysFont('Calibri', 35), pg.font.SysFont('Calibri', 25))
6797

6898
def spawn_booster(self, map: Map, dt):
6999
if random.randrange(0, 256) != 8:
@@ -126,7 +156,6 @@ def run(self):
126156

127157
id, name, engine = CSVParser(None, None, "./data/Cars.csv").read_car_statistics(self.car)
128158
car = Car(id, Vector2D(50, 100), 0, 0, 10, engine, name, curr_map)
129-
130159
while run:
131160
dt = self.clock.tick(self.refresh)
132161
self.screen.blit(map_img, (0, 0))
@@ -151,14 +180,21 @@ def run(self):
151180

152181
self.display_laps(curr_map)
153182

183+
pressed = False
154184
for event in pg.event.get():
155185
if event.type == pg.QUIT:
156186
run = False
187+
elif event.type == pg.MOUSEBUTTONDOWN:
188+
pressed = True
157189

158190
ticks = pg.time.get_ticks()
159191
stopwatch.display_timer(ticks)
160192

161193
if curr_map.won == 1:
162-
self.results_popup.draw(self.screen, curr_map.times)
163-
194+
r = self.results_popup.draw(self.screen, curr_map.times, pressed)
195+
if r < 2:
196+
run = 0
197+
self.run()
198+
164199
pg.display.flip()
200+
pg.display.set_mode((1080, 720))

leaderboard.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ def run(self):
9292
self.cars_options.draw(self.screen)
9393
self.maps_options.draw(self.screen)
9494
for event in pg.event.get():
95-
if self.pointing() and event.type == pg.MOUSEBUTTONDOWN:
95+
if event.type == pg.MOUSEBUTTONDOWN and self.pointing():
9696
run = False
9797
self.screen.fill((0,0,0))
9898
car_selected_option = self.cars_options.update(event)

map.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -171,7 +171,7 @@ def handle_collision_with_sufraces(self, car):
171171
slide.checked = False
172172

173173
self.increment_laps()
174-
if self.laps_completed == 1:
174+
if self.laps_completed == 6:
175175
self.won = 1
176176
self.times = ["{minutes:02d}.{seconds:02d}.{millis}".format(minutes=int(self.times[0] / 60000 % 24), millis=self.times[0] % 1000, seconds=int(self.times[0] / 1000 % 60)) for i in range(6)]
177177

menu.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,8 +57,9 @@ def run(self):
5757
if pos == 0: #play button
5858
name, car, map = self.settings.get_settings()
5959
engine = Engine(60, name, car, map)
60-
engine.run()
6160
run = False
61+
engine.run()
62+
run = True
6263
if pos == 1: #leaderboard button
6364
leaderboard = Leaderboard()
6465
run = False

settings.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,6 @@ def run(self):
8888
self.cars_options.draw(self.screen)
8989
self.maps_options.draw(self.screen)
9090

91-
9291
if self.save_button.collidepoint(pg.mouse.get_pos()):
9392
color = (100,100,255)
9493
else:

0 commit comments

Comments
 (0)