#colorpicker3.py #White #Dark #txt #download

        
#!coding: utf-8
"""Fichier 3: Introduction d'un objet couleur."""
from __future__ import division, print_function

import pygame
pygame.init()

taille_fenetre = [700, 700]
fenetre = pygame.display.set_mode(taille_fenetre)
horloge = pygame.time.Clock()

class Couleur: # Permets de manipuler l'objet Color de pygame mais en ajoutant des foncitonalités.
    def __init__(self, rouge, vert, bleu):
        self.rouge = rouge
        self.bleu = bleu
        self.vert = vert

    def modifier_rouge(self, ajout):
        nouveau_rouge = self.rouge + ajout
        if nouveau_rouge >= 0 and nouveau_rouge <= 255:
            self.rouge = nouveau_rouge

    def modifier_bleu(self, ajout):
        nouveau_bleu = self.bleu + ajout
        if nouveau_bleu >= 0 and nouveau_bleu <= 255:
            self.bleu = nouveau_bleu

    def modifier_vert(self, ajout):
        nouveau_vert = self.vert + ajout
        if nouveau_vert >= 0 and nouveau_vert <= 255:
            self.vert = nouveau_vert

    def get_couleur(self):
        return pygame.Color(self.rouge, self.vert, self.bleu) # On appelle cette méthode qui renvoi un objet défini dans Pygame utilisable par draw ou fill !

couleurs = []
for i in range(1, 11):
    couleurs.append(Couleur(0, i * 25, 0))

fenetre_active = 1
couleur_active = 0

while fenetre_active == 1:
    for evenement in pygame.event.get():
        if evenement.type == pygame.QUIT:
            fenetre_active = 0
        if evenement.type == pygame.KEYDOWN:
            if evenement.key == pygame.K_LEFT:
                couleur_active += 1
                if couleur_active > len(couleurs):
                    couleur_active = 0
            if evenement.key == pygame.K_RIGHT:
                couleur_active -= 1
                if couleur_active < 0:
                    couleur_active = len(couleurs) - 1

    fenetre.fill(couleurs[couleur_active].get_couleur())

    pygame.draw.circle(fenetre, couleurs[(couleur_active + 1) % len(couleurs)].get_couleur(), [35, 700 - 35], 25)  # Cercle gauche
    pygame.draw.circle(fenetre, couleurs[(couleur_active - 1) % len(couleurs)].get_couleur(), [700 - 35, 700 - 35], 25)  # Cercle droit

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