feat: add reset shortcut
This commit is contained in:
16
src/game.py
16
src/game.py
@@ -39,13 +39,11 @@ class Game:
|
||||
self.process_pygame_events()
|
||||
self.car.update(dt)
|
||||
self.car.check_collisions(self.track.get_collision_polygons())
|
||||
self.update_camera()
|
||||
self.render()
|
||||
self.clock.tick(60)
|
||||
|
||||
def process_pygame_events(self):
|
||||
self.camera.set_pos(self.car.pos)
|
||||
self.camera.set_direction(self.car.direction)
|
||||
self.camera.set_size(Vec(*self.win.get_size()))
|
||||
for event in pygame.event.get():
|
||||
if event.type == pygame.QUIT:
|
||||
self.quit()
|
||||
@@ -59,6 +57,11 @@ class Game:
|
||||
elif event.type == pygame.KEYUP:
|
||||
self.on_key_up(event)
|
||||
|
||||
def update_camera(self):
|
||||
self.camera.set_pos(self.car.pos)
|
||||
self.camera.set_direction(self.car.direction)
|
||||
self.camera.set_size(Vec(*self.win.get_size()))
|
||||
|
||||
def quit(self):
|
||||
self.running = False
|
||||
|
||||
@@ -88,6 +91,8 @@ class Game:
|
||||
self.show_speed = not self.show_speed
|
||||
elif event.key == pygame.K_c:
|
||||
self.show_raycasts = not self.show_raycasts
|
||||
elif event.key == pygame.K_r:
|
||||
self.reset()
|
||||
|
||||
def on_key_up(self, event: pygame.event.Event):
|
||||
if event.key == pygame.K_w:
|
||||
@@ -128,3 +133,8 @@ class Game:
|
||||
pts2.append((ox + r2 * dx, oy + r2 * dy))
|
||||
|
||||
pygame.draw.polygon(self.win, (200, 200, 200), pts1 + pts2[::-1])
|
||||
|
||||
def reset(self):
|
||||
self.car.pos = self.track.start_pos
|
||||
self.car.direction = self.track.start_dir
|
||||
self.car.speed = 0
|
||||
|
||||
Reference in New Issue
Block a user