en to fr translation catalogue (14 entries)

note: type: Title-text
en: Flying tower 1
fr: Tour volante 1

note: type: Resume-text
en: Make a flying defense tower out of a winged shooter.
fr: Programmer un robot volant de manière à obtenir une tour de défense volante

note: type: ScriptName-text
en: Move
fr: Tour1

note: type: \b; header
en: Objective
fr: Objectif

note: type: Plain text
en: As a defense against ants attacking from all sides, adapt the program <code>Spider2</code> in order to fly at a given altitude.
fr: Le <a object|botfj>robot tireur volant</a> est au fond d'un trou. Des <a object|ant>fourmis</a> agressives arrivent plus haut, de tous les côtés. Il faudra donc décoller jusqu'au niveau des fourmis, puis tirer tout en maintenant une altitude constante.

note: type: \t; header
en: Program
fr: Programme

note: type: Plain text
en: The program necessary for this task is somewhat similar to the program <code>Spider2</code> that looks for the closest ant, turns towards it and fires:
fr: Pour tuer les fourmis, on les cherche avec le <code><a cbot|radar>radar</a>()</code>, on tourne ensuite dans leur direction puis on tire une seconde. Le tout répété à l'infini avec une boucle <code><a cbot|while>while</a>(true)</code> comme d'habitude:

note: type: Plain text
en: You can copy-paste it to the editor, and adapt it. Replace <c/>radar(AlienSpider);<n/> by <c/>radar(AlienAnt);<n/>, and write before the <code>while</code> loop another loop that activates the jet beneath the <a object|botfj>winged shooter</a> until the bot reaches an altitude of 20 meters.
fr: N'oubliez pas de déclarer la variable <code>chose</code>, qui est de type <code><a cbot|object>object</a></code>

note: type: Plain text
en: The instruction <code><a cbot|jet>jet</a>()</code> controls the jet beneath winged bots. The number in brackets must range between <code>-1</code> and <code>1</code>.<c/> jet(1);<n/> moves the bot upward with maximum speed.<c/> jet(-1);<n/> moves the bot downward with maximum speed, and <c/>jet(0);<n/> stabilizes the altitude. As the bot must reach a precise altitude, move it upward slowly with <c/>jet(0.2);<n/>, wait until it has reached the desired height, then stabilize the altitude with <c/>jet(0);<n/>.
fr: La commande <code><a cbot|jet>jet</a>()</code> active le réacteur qui se trouve sous les robots volants. La valeur qu'on donne entre parenthèses doit être comprise entre <code>-1</code> et <code>1</code>.<c/> jet(1);<n/> fait monter le robot le plus vite possible.<c/> jet(-1);<n/> le fait descendre à la vitesse maximale, et <c/>jet(0);<n/> lui fait garder son altitude. Comme le robot doit atteindre une altitude précise, on le fait monter doucement avec <c/>jet(0.2);<n/>, on attend jusqu'à ce qu'il ait atteint l'altitude voulue, puis on le stabilise avec <c/>jet(0);<n/>.

note: type: Plain text
en: In order to "wait until it has reached the desired height", we need a conditional loop: the instructions inside the loop will be repeated only as long as a certain condition is true. The altitude of the bot is given by <code>position.z</code>. We already saw that <code>position</code> gives the position of the bot. And a position is given by the three coordinates x, y and z: the x-axis is the axis west-east, the y-axis is the axis south-north, and the z-axis is the vertical axis. Therefore we must wait while <code>position.z</code> is smaller than 20:
fr: Pour "attendre que le robot ait atteint l'altitude voulue", il faut faire une boucle conditionnelle: ce qui se trouve à l'intérieur de la boucle se répète tant qu'une certaine condition est remplie. L'altitude du robot est donné par <code>position.z</code>. Nous avons vu que <code>position</code> donne la position du robot. Or une position est donnée par les trois coordonnées x, y et z de l'espace cartésien: l'axe des x est l'axe est-ouest, l'axe des y est l'axe nord-sud, et l'axe des z est l'axe vertical. Il suffit donc d'attendre tant que <code>position.z</code> est plus petit que 20 mètres, ce qui s'écrit:

note: type: Source code
en: 	while (position.z < 20)
    	{
    		wait(0.2);
    	}
fr: 	while ( position.z < 20 )
    	{
    		wait(0.2);
    	}

note: type: Plain text
en: After waiting 0.2 seconds, the program will check if the altitude is still below 20 meters. If this is the case, it will wait a little more, if not, the program continues after the loop, i.e. after the closing brace <code>}</code>. Do not forget after the loop to stabilize the altitude with <c/>jet(0);<n/>.
fr: Toutes les 0.2 secondes, il va voir si l'altitude est encore inférieure à 20 mètres. Si oui, on attend encore. Si non, on continue. N'oubliez pas après cette boucle de stabiliser l'altitude avec <c/>jet(0);<n/>.

note: type: \t; header
en: See also
fr: Voir aussi

note: type: Plain text
en: <a cbot>Programming</a>, <a cbot|type>types</a> and <a cbot|category>categories</a>.
fr: <a tballis1>Exercice précédent</a>, <a cbot>programmation</a>, <a cbot|type>types</a> et <a cbot|category>catégories</a>.
