home *** CD-ROM | disk | FTP | other *** search
/ Revista CD Expert 51 / PCGamer51_17Demos.iso / games / colobotdemo / colobotdemo10e.exe / help / tproc2.txt < prev    next >
Text File  |  2001-06-10  |  2KB  |  38 lines

  1. \b;Exercice
  2. Programmez le \l;robot\u object\bottr; pour qu'il suive le chemin en forme de spirale. Il faut avancer deux fois de 25 mΦtres, puis deux fois de 20 mΦtres. etc., jusqu'α l'arrΩt.
  3.  
  4. \image tproc2 8 8;
  5. \b;ProcΘdure
  6. On constate que le mouvement est composΘ de "L" imbriquΘs. Le premier, en bleu foncΘ, avance deux fois de 25 mΦtres. Le deuxiΦme, en bleu clair, avance de 5 mΦtres de moins, etc. On peut donc commencer par rΘaliser la procΘdure qui dΘplace le robot le long d'un "L" dont on donne la longueur :
  7. \c;
  8. \s;void object::Part(float length)
  9. \s;{
  10. \s;    for ( int i=0 ; i<2 ; i=i+1 )
  11. \s;    {
  12. \s;        move(length);
  13. \s;        turn(90);
  14. \s;    }
  15. \s;}
  16. \n;
  17. Il ne reste plus qu'α Θcrire la procΘdure principale, qui fera appel α \c;Part\n;. La variable \c;rest\n; est initialisΘe au dΘpart α 25 mΦtres. La boucle \c;while\n; est ensuite rΘpΘtΘe tant que \c;rest\n; est plus grand que zΘro. A l'intΘrieur de la boucle, on appelle la procΘdure \c;Part\n; dΘfinie plus haut, puis on enlΦve 5 mΦtres α la longueur α parcourir.
  18. \c;
  19. \s;extern void object::DΘplacer( )
  20. \s;{
  21. \s;    float    rest = 25;
  22. \s;    while ( rest > 0 )
  23. \s;    {
  24. \s;        Part(rest);
  25. \s;        rest = rest-5;
  26. \s;    }
  27. \s;}
  28. \n;
  29. Le dernier appel de \c;Part\n; a lieu avec la valeur \c;5\n;. Ensuite, l'expression \c;rest-5\n; met la valeur zΘro dans la variable \c;rest\n;. La boucle \c;while\n; est donc stoppΘe.
  30.  
  31. \b;Remarque
  32. Vous aurez peut-Ωtre remarquΘ que dans l'exercice prΘcΘdent, la procΘdure principale Θtait au dΘbut, alors qu'ici elle vient aprΦs la procΘdure secondaire \c;Part\n;. En fait, les deux faτons de faire sont possibles et rigoureusement identiques.
  33.  
  34. \key;\key help;\norm; permet de revoir ces instructions en tout temps !
  35.  
  36. \t;Voir aussi
  37. \l;Commandes\u command; et \l;programmation\u cbot;.
  38.