import poorpyxel as ppx
from random import randint

class Bulle:

    # constructeur
    def __init__(self,x, y, couleur, taille, vitesse):
        self.x = x
        self.y = ppx.height
        self.couleur = couleur # indice de la couleur dans la liste 'couleurs'
        self.taille = taille
        self.vitesse = vitesse

    def afficher(self):
        ppx.circ(self.x, self.y, self.taille, self.couleur)

    def monter(self):
        self.y = self.y - self.vitesse

ppx.init(128, 128)

# fonction de mise à jour
def update():
    for bulle in bulles:
        bulle.monter()

        if bulle.y < 0: # si la bulle arrive en haut de l'écran,
            bulle.y = ppx.height # on réinitialise tous ses paramètres !
            bulle.x = randint(0, ppx.width)
            bulle.couleur = randint(1,15)
            bulle.taille = randint(2,5)
            bulle.vitesse = randint(2, 5)

# fonction d'animation
def draw():
    ppx.cls(0) # effacement de la bulle
    for bulle in bulles:
        bulle.afficher() # affichage

# instanciation des objets de type "Bulle"
bulles = [] # tableau d'objets de type 'Bulle'

for i in range(50): # 50 bulles
    x = randint(0, ppx.width)
    y = ppx.height
    couleur = randint(1, 15)
    taille = randint(2, 5)
    vitesse = randint(2, 5)
    bulle = Bulle(x, y, couleur, taille, vitesse) # création de l'objet
    bulles.append(bulle)	# ajout comme élément du tableau 'bulles'

ppx.run(update, draw)