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