# Copyright (C) 2016 Free Software Foundation, Inc. # This file is distributed under the same license as the PACKAGE package. # José Robson Mariano Alves , 2018. msgid "" msgstr "" "Project-Id-Version: colobot-data 0.1.7\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: DATE\n" "PO-Revision-Date: 2018-05-08 18:14-0300\n" "Last-Translator: José Robson Mariano Alves \n" "Language-Team: Portuguese \n" "Language: pt_PT\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" "X-Generator: Lokalize 2.0\n" #. type: Title-text #: ../scene.txt:1 #, no-wrap msgid "Shadow" msgstr "Sombra" #. type: Resume-text #: ../scene.txt:2 #, no-wrap msgid "Follow a bot, as if you were its shadow." msgstr "Siga um bot, como se você fosse a sua sombra." #. type: ScriptName-text #: ../scene.txt:3 #, no-wrap msgid "Follow" msgstr "Seguir" #. type: \b; header #: ../help/help.E.txt:1 #, no-wrap msgid "Exercise" msgstr "Exercício" #. type: Plain text #: ../help/help.E.txt:2 #, no-wrap msgid "You must follow the target bot with the explosive device, but without touching it, otherwise it will blow up. Every time the target bot stops, you must be close to it (less than 10m). After you managed to stay close to the target bot at 10 successive stops, it will lead you to the finishing pad, and the exercise is over. At every stop, the target bot checks that you are there. If you are not there, you must start over again." msgstr "Você deve seguir o robô alvo com o dispositivo explosivo, mas sem tocá-lo, caso contrário ele explodirá. Toda vez que o robô alvo parar, você deve estar perto dele (menos de 10m). Depois que você conseguir ficar perto do robô de destino em 10 paradas sucessivas, ele o levará até o finalizador e o exercício terminará. A cada parada, o robô de destino verifica se você está lá. Se você não está lá, você deve começar de novo." #. type: \b; header #: ../help/help.E.txt:4 #, no-wrap msgid "General principle" msgstr "Princípio geral" #. type: Plain text #: ../help/help.E.txt:5 #, no-wrap msgid "Repeat forever :" msgstr "Repita para sempre:" #. type: Bullet: 'o' #: ../help/help.E.txt:6 #, no-wrap msgid "Look for the target bot." msgstr "Procure o robô alvo:" #. type: Bullet: 'o' #: ../help/help.E.txt:7 #, no-wrap msgid "Calculate the distance to the bot." msgstr "Calcule a distância para o robô." #. type: Bullet: 'o' #: ../help/help.E.txt:8 #, no-wrap msgid "if the distance to the target bot is less than 5m, move backward." msgstr "se a distância ao robô alvo for menor que 5m, mova-se para trás." #. type: Bullet: 'o' #: ../help/help.E.txt:9 #, no-wrap msgid "Otherwise, calculate the direction of the target bot, and move towards it." msgstr "Caso contrário, calcule a direção do robô alvo e mova-se em direção a ele." #. type: Plain text #: ../help/help.E.txt:11 #, no-wrap msgid "As many times before, use while (true) in order to perform the infinite loop:" msgstr "Como muitas vezes antes, use while (true) para executar um laço infinito:" #. type: Source code #: ../help/help.E.txt:12 #, no-wrap msgid "" "while (true)\n" "{\n" "\tinstructions to be repeated ...\n" "}" msgstr "" "while (true)\n" "{\n" "\tinstruções a serem repetidas...\n" "}" #. type: Plain text #: ../help/help.E.txt:17 #, no-wrap msgid "Look for the target bot with the instruction radar:" msgstr "Procure o robô alvo com a instrução radar:" #. type: Source code #: ../help/help.E.txt:18 #, no-wrap msgid "\ttarget = radar(TargetBot);" msgstr "\talvo = radar(TargetBot);" #. type: Plain text #: ../help/help.E.txt:20 #, no-wrap msgid "You do not have to test if the radar found a target bot: there must be one." msgstr "Você não precisa testar se o radar encontrou um robô de destino: deve haver um." #. type: Plain text #: ../help/help.E.txt:22 #, no-wrap msgid "Use the instruction distance( , ) to calculate the distance between two points. The first point will be the position of your own bot, given by position. The second point is the position of the target bot, given by target.position." msgstr "Use a instrução distance( , ) para calcular a distância entre dois pontos. O primeiro ponto será a posição do seu próprio robô, dada por position. O segundo ponto é a posição do robô alvo, dada por alvo.position." #. type: Source code #: ../help/help.E.txt:23 #, no-wrap msgid "len = distance(position, target.position);" msgstr "dist = distance(position, alvo.position);" #. type: Plain text #: ../help/help.E.txt:25 #, no-wrap msgid "" "If the distance to the target bot is smaller than 5m, move backward with a speed inversely proportional to the distance: the closer you are to the bot, the faster you must move backward.\n" "\tDistance = 5.0 meters -> speed = 0.0\n" "\tDistance = 2.5 meters -> speed = -0.5\n" "\tDistance = 0.0 meters -> speed = -1.0\n" "You can use the expression distance/5-1 in order to achieve this, together with the if to test if the target is closer than 5m:" msgstr "" "Se a distância até o robô alvo for menor que 5m, mova-se para trás com uma velocidade inversamente proporcional à distância: quanto mais próximo estiver do robô, mais rápido você deve se mover para trás. \n" "\tDistância = 5,0 metros -> velocidade = 0,0 \n" "\tDistância = 2,5 metros -> velocidade = -0,5 \n" "\tDistância = 0,0 metros -> velocidade = -1,0 \n" "Você pode usar a expressão dist/5-1 para conseguir isso, junto com o if para testar se o alvo está a menos de 5m:" #. type: Source code #: ../help/help.E.txt:30 #, no-wrap msgid "" "if ( len < 5 ) // too close ?\n" "{\n" "\tmotor(len/5-1, len/5-1); // moves backward\n" "}" msgstr "" "if ( dist < 5 ) // muito perto?\n" "{\n" "\tmotor(dist/5-1, dist/5-1); // move para trás\n" "}" #. type: Plain text #: ../help/help.E.txt:35 #, no-wrap msgid "If the distance to the target is greater than 5m, move towards the target. First calculate the angle necessary to face the target with the instruction direction. You can then adjust the speed of the right-hand and left-hand motor in order to follow the target:" msgstr "Se a distância até o alvo for maior que 5m, mova-se em direção ao alvo. Primeiro calcule o ângulo necessário para enfrentar o alvo com a instrução direction. Você pode então ajustar a velocidade do motor direito e esquerdo para seguir o alvo:" #. type: Source code #: ../help/help.E.txt:36 #, no-wrap msgid "" "else\n" "{\n" "\tdir = direction(target.position);\n" "\tif ( dir >= 0 ) // target on the left side?\n" "\t{\n" "\t\tmotor(1-dir/90, 1);\n" "\t}\n" "\telse // target on the right side?\n" "\t{\n" "\t\tit is up to you to fill in\n" "\t}\n" "}" msgstr "" "else\n" "{\n" "\tdir = direction(alvo.position);\n" "\tif ( dir >= 0 ) // alvo no lado esquerdo?\n" "\t{\n" "\t\tmotor(1-dir/90, 1);\n" "\t}\n" "\telse // alvo no lado direito?\n" "\t{\n" "\t\tcabe a você preencher\n" "\t}\n" "}" #. type: Plain text #: ../help/help.E.txt:49 #, no-wrap msgid "" "When the target is on your left, dir takes a positive value, ranging between 0 and 180. The expression 1-dir/90 returns a speed ranging between 1 and -1, according to the direction:\n" "\tdirection = 0 -> speed = 1.0\n" "\tdirection = 45 -> speed = 0.5\n" "\tdirection = 90 -> speed = 0.0\n" "\tdirection = 135 -> speed = -0.5\n" "\tdirection = 180 -> speed = -1.0" msgstr "" "Quando o alvo está à sua esquerda, dir recebe um valor positivo, variando entre 0 e 180. A expressão 1-dir/90 retorna uma velocidade que varia entre 1 e -1, de acordo com a direção: \n" "\tdireção = 0 -> velocidade = 1,0 \n" "\tdireção = 45 -> velocidade = 0,5 \n" "\tdireção = 90 -> velocidade = 0.0 \n" "\tdireção = 135 -> velocidade = -0,5 \n" "\tdireção = 180 -> velocidade = -1.0" #. type: Image filename #: ../help/help.E.txt:56 #, no-wrap msgid "radar2" msgstr "radar2" #. type: Plain text #: ../help/help.E.txt:57 #, no-wrap msgid "When the target is on the right side, dir is negative, ranging between 0 and -180." msgstr "Quando o alvo está no lado direito, dir é negativo, variando entre 0 e -180." #. type: Plain text #: ../help/help.E.txt:59 #, no-wrap msgid "The only task left for you now is to declare the variables that you use in the program. target is of type object, whereas dir and len are of type float." msgstr "A única tarefa que resta agora é declarar as variáveis que você usa no programa. alvo é do tipo object, enquanto dir e dist são do tipo float." #. type: \t; header #: ../help/help.E.txt:61 #, no-wrap msgid "See also" msgstr "Veja também" #. type: Plain text #: ../help/help.E.txt:62 #, no-wrap msgid "Programming, types and categories." msgstr "Programação, tipos e categorias."