\b;Exercice Déplacez le cube de \l;titanium\u object\titan; sur la plate-forme d'arrivée. On ne connaît pas la position du titanium. En revanche, on sait que la plate-forme est à la position x=10 et y=-60. \b;L'instruction \c;goto\n; Pour résoudre ce problème, nous allons utiliser une nouvelle façon de déplacer un robot, l'instruction \c;\l;goto\u cbot\goto;\n;. Cette instruction permet d'atteindre très simplement n'importe quelle position, en spécifiant ses coordonnées. Le robot tourne automatiquement dans la bonne direction et avance. Il évite même les obstacles éventuels ! En résumé, les différentes manières de déplacer un robot sont donc : \s;\c;motor(left, right)\n; Pour commander directement les moteurs, fraction de seconde après fraction de seconde. \s;\c;move(distance)\n; et \c;turn(angle)\n; Pour avancer d'une longueur précise, ou tourner d'un angle précis. Les déplacements sont relatifs. Par exemple, on avance de 100 mètres par rapport à la position actuelle du robot. \s;\c;goto(position)\n; Pour atteindre facilement une position absolue donnée. \b;Solution Pour trouver le titanium, utilisez l'instruction \c;\l;radar\u cbot\radar;(Titanium);\n;. La troisième ligne teste si le titanium est trouvé. Dans cet exercice, c'est inutile, mais il vaut mieux prendre l'habitude de faire ce genre de test systématiquement : \c; \s;object item; \s;item = radar(Titanium); \s;if ( item == null ) return; \s;goto(item.position); \n; La variable \c;item\n; est de type \c;\l;object\u cbot\object;\n;. Pour connaître la position de l'objet décrit par la variable, il faut donc écrire \c;item.position\n;. Pour prendre le titanium, il suffit d'effectuer \c;\l;grab\u cbot\grab;()\n;, sans aucun paramètre. Pour déposer le titanium, il suffit d'effectuer \c;\l;drop\u cbot\drop;()\n;, sans aucun paramètre. Les coordonnées de la plate-forme d'arrivée sont connues: x=10 et y=-60. Il faut donc déclarer une \l;variable\u cbot\var; de type \l;point\u cbot\point;, puis lui assigner les bonnes coordonnées. Cette variable pourra ensuite être donnée comme argument à l'instruction \c;\l;goto\u cbot\goto;\n;. Remarque: la coordonnée \c;z\n; peut être ignorée dans le cas d'un robot qui ne vole pas ! A vous de terminer le programme ... \key;\key help;\norm; permet de revoir ces instructions en tout temps ! \t;Voir aussi \l;Commandes\u command; et \l;programmation\u cbot;.