Déplacez le \l;robot\u object\bottr; le plus rapidement possible, à l'aide de l'instruction \c;motor( )\n;. Il faudra programmer une décélération en bout de piste, pour ne pas percuter les \l;mines\u object\mine;.
Un programme avec \c;\l;move\u cbot\move;(25);\n; fonctionnerait parfaitement, mais le but est d'apprendre le fonctionnement de l'instruction \c;\l;motor\u cbot\motor;\n;.
Avec l'instruction \c;motor(0.5, 0.6);\n;, le \l;robot\u object\bottr; avance à mi-vitesse en tournant légèrement à gauche, puisque le moteur de droite va un peu plus vite (\c;0.6\n;) que le moteur de gauche (\c;0.5\n;).
L'idée consiste à avancer à fond les 23 premiers mètres, puis à diminuer progressivement la vitesse les 2 derniers mètres.
L'instruction \c;\l;distance\u cbot\dist;(p1, p2);\n; retourne la distance entre deux points. Il suffit donc de mémoriser la position de départ, puis de calculer la distance parcourue avec \c;distance(position, start)\n;.
La \l;variable\u cbot\object; \c;position\n; donne la position actuelle du \l;robot\u object\bottr;. Donc, \c;distance(position, start);\n; retourne la distance parcourue.
Tant que la longueur est plus petite que 23 mètres, on n'effectue pas les instructions après le \c;\l;if\u cbot\if;\n;. Les moteurs conservent donc les consignes initiales \c;\l;motor\u cbot\motor;(1,1);\n;, vitesse maximale.