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.process_pygame_events()
|
||||||
self.car.update(dt)
|
self.car.update(dt)
|
||||||
self.car.check_collisions(self.track.get_collision_polygons())
|
self.car.check_collisions(self.track.get_collision_polygons())
|
||||||
|
self.update_camera()
|
||||||
self.render()
|
self.render()
|
||||||
self.clock.tick(60)
|
self.clock.tick(60)
|
||||||
|
|
||||||
def process_pygame_events(self):
|
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():
|
for event in pygame.event.get():
|
||||||
if event.type == pygame.QUIT:
|
if event.type == pygame.QUIT:
|
||||||
self.quit()
|
self.quit()
|
||||||
@@ -59,6 +57,11 @@ class Game:
|
|||||||
elif event.type == pygame.KEYUP:
|
elif event.type == pygame.KEYUP:
|
||||||
self.on_key_up(event)
|
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):
|
def quit(self):
|
||||||
self.running = False
|
self.running = False
|
||||||
|
|
||||||
@@ -88,6 +91,8 @@ class Game:
|
|||||||
self.show_speed = not self.show_speed
|
self.show_speed = not self.show_speed
|
||||||
elif event.key == pygame.K_c:
|
elif event.key == pygame.K_c:
|
||||||
self.show_raycasts = not self.show_raycasts
|
self.show_raycasts = not self.show_raycasts
|
||||||
|
elif event.key == pygame.K_r:
|
||||||
|
self.reset()
|
||||||
|
|
||||||
def on_key_up(self, event: pygame.event.Event):
|
def on_key_up(self, event: pygame.event.Event):
|
||||||
if event.key == pygame.K_w:
|
if event.key == pygame.K_w:
|
||||||
@@ -128,3 +133,8 @@ class Game:
|
|||||||
pts2.append((ox + r2 * dx, oy + r2 * dy))
|
pts2.append((ox + r2 * dx, oy + r2 * dy))
|
||||||
|
|
||||||
pygame.draw.polygon(self.win, (200, 200, 200), pts1 + pts2[::-1])
|
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