def draw_planet(p: Planet): if p.get_pos()[0] - p.get_radius() > screen_width: p.set_pos((0 - p.get_radius(), p.get_pos()[1])) elif p.get_pos()[0] + p.get_radius() < 0: p.set_pos((screen_width + p.get_radius(), p.get_pos()[1])) if p.get_pos()[1] - p.get_radius() > screen_height: p.set_pos((p.get_pos()[0], 0 - p.get_radius())) elif p.get_pos()[1] + p.get_radius() < 0: p.set_pos((p.get_pos()[0], screen_height + p.get_radius())) pygame.draw.circle(screen, p.get_color(), p.get_pos(), p.get_radius()) velocity = Vector2(p.get_vel()) if velocity.magnitude() > 0: try: velocity.scale_to_length(p.get_radius()) except ValueError: print("faulty scale_to_length")