Console
Clique sur « Exécuter » pour lancer le programme.
Code CoddyRun
// --- Demande du mot ---
mot est un texte
demande "Entre un mot ou un pseudo : " dans mot
si est_vide(mot) alors
mot vaut "CoddyRun"
fin si
// CALCUL D'UN HASH ROBUSTE A PARTIR DU TEXTE
h est un nombre
h vaut 7
i est un nombre
i vaut 0
tant que i < longueur(mot)
c est un nombre
c vaut code(copier(mot, i + 1, 1))
h vaut (h * 37 + c) mod 1000000007
i vaut i + 1
fin tant que
// EXTRACTION DE DEUX COULEURS HARMONIEUSES (Primaire & Accent)
r1 est un nombre
r1 vaut limiter(arrondi_inferieur(40 + (h mod 160)), 0, 255)
v1 est un nombre
v1 vaut limiter(arrondi_inferieur(40 + ((h / 13) mod 160)), 0, 255)
b1 est un nombre
b1 vaut limiter(arrondi_inferieur(40 + ((h / 23) mod 160)), 0, 255)
coul1 est un texte
coul1 vaut '#' + vers_hexadécimal(r1, '', 2) + vers_hexadécimal(v1, '', 2) + vers_hexadécimal(b1, '', 2)
// Couleur secondaire (complémentaire inversée pour le contraste)
r2 est un nombre
r2 vaut limiter(arrondi_inferieur(255 - r1), 0, 255)
v2 est un nombre
v2 vaut limiter(arrondi_inferieur(255 - v1), 0, 255)
b2 est un nombre
b2 vaut limiter(arrondi_inferieur(255 - b1), 0, 255)
coul2 est un texte
coul2 vaut '#' + vers_hexadécimal(r2, '', 2) + vers_hexadécimal(v2, '', 2) + vers_hexadécimal(b2, '', 2)
// PARAMETRES DE LA GRILLE & DIMENSIONS
g est un nombre
g vaut 5
CASE est un nombre
CASE vaut 60
MARGE est un nombre
MARGE vaut 40
largeurToile est un nombre
largeurToile vaut g * CASE + 2 * MARGE
hauteurToile est un nombre
hauteurToile vaut g * CASE + 2 * MARGE + 50
toile1 est une toile
dimension(toile1, largeurToile, hauteurToile)
// Fond avec un dégradé élégant (style sombre futuriste)
dégradé(toile1, [#0F172A, #1E293B])
// Cadre de l'avatar (effet verre / glassmorphism)
rectangle_arrondi(toile1, MARGE - 10, MARGE - 10, g * CASE + 20, g * CASE + 20, 20, rgba(255, 255, 255, 0.08))
rectangle_arrondi(toile1, MARGE, MARGE, g * CASE, g * CASE, 14, rgba(15, 23, 42, 0.75))
// GENERATION DU MOTIF SYMÉTRIQUE AVEC ALTERNANCE DE COULEURS
valeur est un nombre
valeur vaut h
lig est un nombre
lig vaut 0
tant que lig < g
col est un nombre
col vaut 0
tant que col < 3
bit est un nombre
bit vaut valeur mod 2
valeur vaut arrondi_inferieur(valeur / 2)
si valeur < 2 alors
valeur vaut h + lig * 31 + col * 17
fin si
si bit = 1 alors
xg est un nombre
xg vaut MARGE + (col * CASE) + 5
yg est un nombre
yg vaut MARGE + (lig * CASE) + 5
tailleBloc est un nombre
tailleBloc vaut CASE - 10
// Alternance des deux couleurs selon la position
couleurBloc est un texte
si (lig + col) mod 2 = 0 alors
couleurBloc vaut coul1
sinon
couleurBloc vaut coul2
fin si
// Bloc de gauche
rectangle_arrondi(toile1, xg, yg, tailleBloc, tailleBloc, 10, couleurBloc)
// Bloc miroir (symétrie verticale)
colMiroir est un nombre
colMiroir vaut g - 1 - col
xd est un nombre
xd vaut MARGE + (colMiroir * CASE) + 5
rectangle_arrondi(toile1, xd, yg, tailleBloc, tailleBloc, 10, couleurBloc)
fin si
col vaut col + 1
fin tant que
lig vaut lig + 1
fin tant que
// AFFICHAGE DU BADGE DE TEXTE SOUS L'AVATAR
yBadge est un nombre
yBadge vaut MARGE + g * CASE + 15
rectangle_arrondi(toile1, MARGE, yBadge, g * CASE, 36, 8, rgba(255, 255, 255, 0.06))
// Centrage automatique du texte du pseudo
largeurTexte est un nombre
largeurTexte vaut label_largeur(mot, 12)
xTexte est un nombre
xTexte vaut MARGE + (g * CASE - largeurTexte) / 2
label(toile1, xTexte, yBadge + 23, mot, #E2E8F0, 12)
affiche toile1