1import pyglet
2import random
3from . import asteroid, resources, util
4
5
6def player_lives(num_icons, batch=None):
7    """Generate sprites for player life icons"""
8    player_lives = []
9    for i in range(num_icons):
10        new_sprite = pyglet.sprite.Sprite(img=resources.player_image,
11                                          x=785 - i * 30, y=585,
12                                          batch=batch)
13        new_sprite.scale = 0.5
14        player_lives.append(new_sprite)
15    return player_lives
16
17
18def asteroids(num_asteroids, player_position, batch=None):
19    """Generate asteroid objects with random positions and velocities, not close to the player"""
20    asteroids = []
21    for i in range(num_asteroids):
22        asteroid_x, asteroid_y = player_position
23        while util.distance((asteroid_x, asteroid_y), player_position) < 100:
24            asteroid_x = random.randint(0, 800)
25            asteroid_y = random.randint(0, 600)
26        new_asteroid = asteroid.Asteroid(x=asteroid_x, y=asteroid_y, batch=batch)
27        new_asteroid.rotation = random.randint(0, 360)
28        new_asteroid.velocity_x, new_asteroid.velocity_y = random.random() * 40, random.random() * 40
29        asteroids.append(new_asteroid)
30    return asteroids
31