#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Created on Fri Sep 19 13:43:14 2025

@author: pjoulaud
"""

import pygame as p

L, H = 800, 600

class cercle :
    def __init__(self, rouge=255, vert=0, bleu=0, larg=L//2, haut=H//2, rayon=50, epaisseur=2):
        self.c = (rouge, vert, bleu)
        self.l = larg
        self.h = haut
        self.r = rayon
        self.e = epaisseur
        self.dl = 1
    def dessine(self):
        p.draw.circle(surf, self.c, (self.l, self.h), self.r, self.e)
    def calcule_futures_parametres(self):
        if self.l>=L or self.l<=0 :
            self.dl = -self.dl
        self.l = self.l + self.dl

class rectangle :
    def __init__(self, rouge=255, vert=0, bleu=0, larg=L//2, haut=H//2, pos_x = 50, pos_y = 100, epaisseur=2):
        self.c = (rouge, vert, bleu)
        self.x = pos_x
        self.y = pos_y
        self.l = larg
        self.h = haut
        self.e = epaisseur
        self.dl = 1
    def dessine(self):
        p.draw.rect(surf, (0, 0, 255), [self.x, self.y, self.l, self.h], self.e)
    def calcule_futures_parametres(self):
        if self.l<=0 or self.h<=0:
            self.dl = -self.dl
        self.l = self.l + self.dl
        self.h = self.h - self.dl

surf = p.display.set_mode((L,H))
run = True
clock=p.time.Clock()
liste_objets = []
liste_objets.append(cercle())
liste_objets.append(cercle(0,255,0,50,100,10,5 ))
liste_objets.append(cercle(0,0,255,10,300,70,10 ))
liste_objets.append(rectangle())
while run :
    for event in p.event.get():
        if event.type == p.QUIT:
            run = False
    clock.tick(60)
    surf.fill((0,0,0))
    for obj in liste_objets :
        obj.dessine()
        obj.calcule_futures_parametres()    
    p.display.flip()
p.quit()