# Cours 6 - On va au Gym

Défis du ColorLab

Défi 1 — Fonctions utilitaires

  1. isPrimaryColor(const Color& c) — retourne true si la couleur est une couleur primaire pure (ex. : R:255 G:0 B:0).
  2. isNeutralColor(const Color& c) — retourne true si R, G et B sont tous égaux (gris, blanc, noir).

Défi 2 — Gradients (avancé) Un gradient est une transition progressive entre deux couleurs. Implémentez la fonction suivante :

// Dans colors.h :
void displayGradient(const Color& a, const Color& b, int steps);

Elle devra afficher dans le terminal une ligne de blocs dont la couleur transite progressivement de la couleur A vers la couleur B, en steps étapes.

Exemple de sortie attendue pour un gradient Rouge → Bleu en 8 étapes :

(Chaque bloc étant légèrement plus bleu et moins rouge que le précédent.)

Indice : Utilisez std::lerp de <cmath> (disponible depuis C++20) pour interpoler chaque composante. N’oubliez pas que std::lerp travaille avec des float — pensez aux casts !

#include <cmath>
std::lerp(a, b, t);  // t entre 0.0 et 1.0 — retourne la valeur interpolée

Bonne chance, et amusez-vous bien au labo !