Drive Cars | Down A Hill Script

# Control each car for i, car in enumerate(cars): # Apply driving force based on key press (1,2,3 for car1,car2,car3) if pygame.key.get_pressed()[getattr(pygame, f'K_{i+1}')]: car.drive_force() if pygame.key.get_pressed()[getattr(pygame, f'K_{i+1}')] == False: car.brake()

# Space and physics space = pymunk.Space() space.gravity = (0, 900) draw_options = pymunk.pygame_util.DrawOptions(screen)

for i in range(len(hill_points)-1): segment = pymunk.Segment(space.static_body, hill_points[i], hill_points[i+1], 2) segment.friction = 0.8 segment.elasticity = 0.5 space.add(segment) drive cars down a hill script

# Main loop running = True while running: for event in pygame.event.get(): if event.type == pygame.QUIT: running = False if event.type == pygame.KEYDOWN: if event.key == pygame.K_SPACE: cars.append(Car(80, 480))

def draw(self, screen): # Rotate car shape points = self.shape.get_vertices() rotated = [p.rotated(self.body.angle) + self.body.position for p in points] pygame.draw.polygon(screen, self.color, [tuple(p) for p in rotated]) # Control each car for i, car in

def brake(self): # Simple damping self.body.velocity = self.body.velocity * 0.98

# Create cars cars = [Car(80, 480), Car(120, 460), Car(160, 435)] # Control each car for i

pygame.display.flip() clock.tick(60)

Zurück
Oben