Créer des fonctions avec paramètres



Maintenant nous allons apprendre à créer des fonctions un peu plus complexes : des fonctions avec paramètres.
Par exemple les fonctions rect(x,y,largeur,hauteur), line(xA,yA,xB,yB) sont des fonctions avec paramètres car nous avons besoin d'informations pour les faire fonctionner. Les valeurs que nous mettons dans les parenthèses sont appelées paramètres de la fonction.
Vous aurez besoin de créer ce type de fonction si vous voulez faire un mandala comme celui-ci ( voir le cour sur les mandalas ).


Reprenons notre exemple de cibles. Nous pouvons indiquer à cible() des informations sur la position de la cible pour pouvoir les dessiner à différents endroits. Ces informations sont les paramètres de la fonction. Pour notre première version de fonction cible nous allons avoir besoin de 2 informations :

Nous décidons ici de nommer ces 2 paramètres xCentre, yCentre. Il faudra donc garder ces noms dans le corps de notre fonction. Quand nous appellerons notre fonction cible, nous remplacerons les noms des paramètres par les valeurs que prennent ces paramètres. Les instructions à l'intérieur de notre fonction seront donc effectuées avec les valeurs que prennent les paramètres.

Notre fonction sera donc cible(x,y). Nous pourrons dessiner des tours à n'importe quelle position sans avoir besoin de translate.

Nous pouvons réaliser une deuxième version de notre fonction que nous appelons cibleVersion2 dans laquelle nous indiquerons les informations sur la position de la cible mais également sur la taille de la cible (donc le diamètre du grand cercle). Cette fonction aura donc 3 paramètres :

Nous avons donc le diamètre du grand cercle. Pour avoir ceux des deux autres cercles on va les calculer à partir de celui du premier c'est à dire :

Synthèse


Résumons un peu ce que nous avons découvert autour de cette notion de fonction:


Une fonction peut avoir besoin de paramètres comme les fonctions rect ou ellipse par exemple. On trouve également des fonctions qui n'ont besoin d'aucune information pour s'exécuter comme noFill

Voici un petit schéma récapitulatif :

# définition d'une fonction appelée 'fonction1' ayant 2 paramètres
def fonction1(parametre1, parametre2):
  instruction1
  instruction2

# définition d'une fonction appelée 'fonction2' n'ayant pas de paramètres
def fonction2():
  instruction1
  instruction2
  instruction3