Deutsh Français |
4. FONCTIONS |
TU APPRENDS ICI... |
|
EXEMPLE |
Dans le chapitre précédent, tu as appris comment dessiner un carré à l’aide du serpent. Il s'agit d'une opération typique et indépendante : on voudrait alors regrouper le code de cette opération dans une fonction appelée square (carré en anglais). Pour ce faire, tu définis cette fonction avec le mot-clé def comme suit: def square(): repeat 4: forward() right(90) L'ordinateur ne fera encore rien en lisant ces lignes, mais se souviendra seulement de ce qu'il est censé faire avec la fonction square. La définition de la fonction consiste donc en une ligne d'en-tête avec def et le nom de la fonction, suivie d'une parenthèse de paramètre et d'un double-points. Programme:
Il serait pratique que tu puisses également indiquer où se trouve le coin inférieur gauche de ces carrés lorsque tu appelles la fonction square(), afin de ne pas avoir à appeler setPos() deux fois dans le programme principal. Ce n'est pas un problème car tu peux insérer les coordonnées x et y comme paramètres dans la définition de la fonction: square(x, y). x et y sont alors les noms de paramètres Ainsi, lorsque tu appelles square(0, 7), les valeurs de x et de y sont transmises et utilisées par la fonction. Programme: from oxosnake import * def square(x, y): setPos(x, y) repeat 4: forward(3) right(90) makeSnake() setSpeed(90) square(0, 7) square(4, 7)
La commande penDown() fait en sorte que le serpent laisse une trace. La couleur de la piste est définie avec setPenColor(WHITE) et le fond est défini en rouge avec setBgColor(RED). Programme: from oxosnake import * def shape(): forward(2) right(90) forward() right(90) forward(2) makeSnake(speed = 70, pos = (3, 3)) setPenColor(WHITE) penDown() repeat 4: shape() left(90) hide() setBgColor(RED) Avec la commande hide(), le serpent sera dissimulé. |
N’OUBLIE PAS... |
Pour résoudre un problème plus complexe, il faut le diviser en sous-problèmes et résoudre un sous-problème à la fois. C'est ce qu'on appelle la modularisation ou la programmation structurée. Les fonctions sont des outils fondamentaux pour la programmation structurée, car elles rendent possible l’appel d’un sous-programme plusieurs fois. Dans la définition de la fonction, tu peux également insérer des paramètres et utiliser les noms des paramètres dans le corps de la fonction. Lorsque la fonction est appelée, les valeurs entre parenthèses sont transmises à la fonction et utilisées à la place des noms de paramètres. |
À TOI DE JOUER |
|
Exemple.: setPenColor(CYAN)
Mais vous pouvez choisir n'importe quelle couleur :Exemple: setPenColor(50, 0, 20)