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