# SOME DESCRIPTIVE TITLE # Copyright (C) YEAR Free Software Foundation, Inc. # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "POT-Creation-Date: DATE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #. type: One-char language identifier #: levels-po/exercises/chapter004/level002/scene_langchar.txt:1 #, no-wrap msgid "E" msgstr "" #. type: Title-text #: levels/exercises/chapter004/level002/scene.txt:1 #, no-wrap msgid "Radar" msgstr "" #. type: Resume-text #: levels/exercises/chapter004/level002/scene.txt:2 #, no-wrap msgid "Use the radar to find lots of stupid blue crosses." msgstr "" #. type: ScriptName-text #: levels/exercises/chapter004/level002/scene.txt:3 #, no-wrap msgid "Find" msgstr "" #. type: \b; header #: levels/exercises/chapter004/level002/help/help.E.txt:1 #, no-wrap msgid "Exercise" msgstr "" #. type: Plain text #: levels/exercises/chapter004/level002/help/help.E.txt:3 #, no-wrap msgid "" "Let the bot find all the blue crosses on the " "ground. As soon as the bot passed over one of the crosses, it will " "disappear. Here is the general principle that you will apply:" msgstr "" #. type: Plain text #: levels/exercises/chapter004/level002/help/help.E.txt:5 #, no-wrap msgid "Repeat forever:\n" msgstr "" #. type: Bullet: 'o' #: levels/exercises/chapter004/level002/help/help.E.txt:5 #, no-wrap msgid "Look for a cross" msgstr "" #. type: Bullet: 'o' #: levels/exercises/chapter004/level002/help/help.E.txt:6 #, no-wrap msgid "If there is none, stop the program." msgstr "" #. type: Bullet: 'o' #: levels/exercises/chapter004/level002/help/help.E.txt:7 #, no-wrap msgid "Calculate the direction of the cross." msgstr "" #. type: Bullet: 'o' #: levels/exercises/chapter004/level002/help/help.E.txt:8 #, no-wrap msgid "" "Set the speed of the motors in such a way that they will find their way to " "the cross." msgstr "" #. type: \b; header #: levels/exercises/chapter004/level002/help/help.E.txt:10 #, no-wrap msgid "The program" msgstr "" #. type: Plain text #: levels/exercises/chapter004/level002/help/help.E.txt:12 #, no-wrap msgid "" "Use a while loop in order to repeat several " "instructions over and over:" msgstr "" #. type: \s; block (usually verbatim code) #: levels/exercises/chapter004/level002/help/help.E.txt:16 #, no-wrap msgid "" "while ( true )\n" "{\n" "\tinstructions...\n" "}" msgstr "" #. type: Plain text #: levels/exercises/chapter004/level002/help/help.E.txt:18 #, no-wrap msgid "" "The instruction radar will detect the blue " "crosses and put their description into a variable, for example " "spot. In this case, radar() " "needs only one parameter, i.e. the category of the object that it must look " "for:" msgstr "" #. type: \s; block (usually verbatim code) #: levels/exercises/chapter004/level002/help/help.E.txt:19 #, no-wrap msgid "spot = radar(WayPoint);" msgstr "" #. type: Plain text #: levels/exercises/chapter004/level002/help/help.E.txt:21 #, no-wrap msgid "" "Once all the crosses have been found, radar will return the " "value null. You will have to test this case " "and react accordingly with the instruction if:" msgstr "" #. type: \s; block (usually verbatim code) #: levels/exercises/chapter004/level002/help/help.E.txt:26 #, no-wrap msgid "" "if ( spot == null ) // no more ?\n" "{\n" "\tmotor(0, 0); // stops the motors\n" "\tbreak; // stops the loop\n" "}" msgstr "" #. type: Plain text #: levels/exercises/chapter004/level002/help/help.E.txt:27 #, no-wrap msgid "" "The instruction break will stop the " "infinite loop while (true)." msgstr "" #. type: Plain text #: levels/exercises/chapter004/level002/help/help.E.txt:29 #, no-wrap msgid "" "Use the instruction direction() to calculate " "the angle of the rotation that the bot must perform in order to turn towards " "the blue cross. The coordinates of the object are given by " "spot.position. The following line will put the angle of the " "necessary rotation into the variable dir:" msgstr "" #. type: \s; block (usually verbatim code) #: levels/exercises/chapter004/level002/help/help.E.txt:30 #, no-wrap msgid "dir = direction(spot.position);" msgstr "" #. type: Plain text #: levels/exercises/chapter004/level002/help/help.E.txt:32 #, no-wrap msgid "" "The value of the angle is positive if the blue cross is on your left hand, " "and negative if it is on your right hand. If the cross to be reached is on " "your left hand, you must set the right-hand motor to full speed, and set the " "left-hand motor to a lower speed, according to the angle:" msgstr "" #. type: Plain text #: levels/exercises/chapter004/level002/help/help.E.txt:38 #, no-wrap msgid "" " direction = 0 -> speed = 1.0\n" " direction = 45 -> speed = 0.5\n" " direction = 90 -> speed = 0.0\n" " direction = 135 -> speed = -0.5\n" " direction = 180 -> speed = -1.0" msgstr "" #. type: Plain text #: levels/exercises/chapter004/level002/help/help.E.txt:40 #, no-wrap msgid "" "The graphic below shows the speed of the left-hand and right-hand motor as " "set by the instruction motor, according to " "the angle:" msgstr "" #. type: Image filename #: levels/exercises/chapter004/level002/help/help.E.txt:41 #, no-wrap msgid "radar2" msgstr "" #. type: Plain text #: levels/exercises/chapter004/level002/help/help.E.txt:43 #, no-wrap msgid "" "If the cross is straight ahead, the angle is 0 degrees. The motors will get " "the speeds 1 and 1, which means full speed ahead. If the cross is behind, " "the right motor will be set to speed -1: it will turn around. You can use " "the expression 1+dir/90 in order to calculate " "the necessary speed of the motors:" msgstr "" #. type: \s; block (usually verbatim code) #: levels/exercises/chapter004/level002/help/help.E.txt:47 #, no-wrap msgid "" "if ( dir < 0 ) // on the right side?\n" "{\n" "\tmotor(1, 1+dir/90); // turns more or less\n" "}" msgstr "" #. type: Plain text #: levels/exercises/chapter004/level002/help/help.E.txt:49 #, no-wrap msgid "" "Use the same principle if the angle has got a positive value, ranging " "between 0 and 180 degrees. It is up to you to work out the exact " "instructions to be performed:" msgstr "" #. type: \s; block (usually verbatim code) #: levels/exercises/chapter004/level002/help/help.E.txt:53 #, no-wrap msgid "" "else // on the left side?\n" "{\n" "\tup to you to fill in here...\n" "}" msgstr "" #. type: Plain text #: levels/exercises/chapter004/level002/help/help.E.txt:55 #, no-wrap msgid "" "At the beginning of the program, you must still declare all the " "variables. spot is of type object, whereas dir is of type float." msgstr "" #. type: \t; header #: levels/exercises/chapter004/level002/help/help.E.txt:56 #, no-wrap msgid "See also" msgstr "" #. type: Plain text #: levels/exercises/chapter004/level002/help/help.E.txt:57 #, no-wrap msgid "" "Programming, types and categories." msgstr ""