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

  1. \b;Exercice
  2. Programmez le \l;robot\u object\bottr; pour qu'il trouve toutes les \l;croix bleues\u object\waypoint; posΘes au sol. Le trajet α effectuer est composΘ de deux carrΘs. Le premier mesure 15 mΦtres de c⌠tΘ, et le deuxiΦme 25 mΦtres.
  3.  
  4. \image tproc1a 8 8;
  5. \b;ProcΘdure
  6. Pour rΘsoudre ce problΦme, il est intΘressant de crΘer une procΘdure qui dΘplace le robot le long d'un carrΘ. La procΘdure principale devient alors trΦs simple :
  7. \c;
  8. \s;extern void object::DΘplacer( )
  9. \s;{
  10. \s;    CarrΘ(15);
  11. \s;    CarrΘ(25);
  12. \s;}
  13. \n;
  14. ╔videmment, α ce stade, la procΘdure \c;CarrΘ\n; n'existe pas encore. Pour rΘaliser la procΘdure, vous devrez pour la premiΦre fois Θcrire des instructions hors du \l;bloc\u cbot\bloc;, tout α la fin du programme. La structure du programme devient :
  15. \c;
  16. \s;extern void object::DΘplacer( )
  17. \s;{
  18. \s;    \n;procΘdure principale ...\c;
  19. \s;}
  20. \s;
  21. \s;void object::CarrΘ(float length)
  22. \s;{
  23. \s;    \n;nouvelle procΘdure ...\c;
  24. \s;}
  25. \n;
  26. Examinons en dΘtail la dΘclaration de cette procΘdure \c;CarrΘ\n; :
  27.  
  28. \c;\l;void\u cbot\void;\n;
  29. Ceci indique que la procΘdure ne retourne aucune valeur.
  30.  
  31. \c;\l;object\u cbot\object;::\n;
  32. Permet d'accΘder aux caractΘristiques du robot, telles que \c;pos\n;, \c;angle\n;, etc. Dans cet exercice, cette dΘclaration est facultative, car on n'accΦde pas α ces variables.
  33.  
  34. \c;CarrΘ (  )\n;
  35. Nom de la procΘdure. Vous pouvez donner ici le nom qui vous plaεt le mieux.
  36.  
  37. \c;\l;float\u cbot\float; length\n;
  38. ParamΦtre que reτoit la procΘdure. A l'intΘrieur de la procΘdure, \c;length\n; prendra une premiΦre fois la valeur 15 et une deuxiΦme fois la valeur 25.
  39.  
  40. Le flux du programme se dΘroule ainsi :
  41. - On exΘcute la procΘdure principale \c;DΘplace\n; depuis le dΘbut.
  42. - Lorsqu'on rencontre \c;CarrΘ(15)\n;, on suit la flΦche rouge pour entrer une premiΦre fois dans la procΘdure \c;CarrΘ\n;.
  43. - Lorsque la procΘdure \c;CarrΘ\n; est terminΘe, on revient dans \c;DΘplace\n; selon la flΦche orange.
  44. - On continue \c;DΘplace\n;, qui contient alors \c;CarrΘ(25)\n;. On suit donc la flΦche bleue pour entrer une deuxiΦme fois dans \c;CarrΘ\n;.
  45. - Lorsque \c;CarrΘ\n; est terminΘ, on revient dans \c;DΘplace\n; en suivant la flΦche bleue clair.
  46.  
  47. \image tproc1b 17 12;
  48. L'intΘrieur de la procΘdure \c;CarrΘ\n; utilise les instructions \c;\l;move\u cbot\move;\n; et \c;\l;turn\u cbot\turn;\n;. L'utilisation d'une boucle \c;\l;for\u cbot\for;\n; rΘpΘtΘe 4 fois allΦge l'Θcriture, mais n'est pas indispensable.
  49. \c;
  50. \s;void object::CarrΘ(float length)
  51. \s;{
  52. \s;    for ( int i=0 ; i<4 ; i=i+1 )
  53. \s;    {
  54. \s;        move(length);
  55. \s;        turn(90);
  56. \s;    }
  57. \s;}
  58. \n;
  59. \key;\key help;\norm; permet de revoir ces instructions en tout temps !
  60.  
  61. \t;Voir aussi
  62. \l;Commandes\u command; et \l;programmation\u cbot;.
  63.