colobot-data 0.1.7 - en to pt_PT translation catalogue (27 entries)

note: type: Title-text
en: Shadow
pt_PT: Sombra

note: type: Resume-text
en: Follow a bot, as if you were its shadow.
pt_PT: Siga um bot, como se você fosse a sua sombra.

note: type: ScriptName-text
en: Follow
pt_PT: Seguir

note: type: \b; header
en: Exercise
pt_PT: Exercício

note: type: Plain text
en: You must follow the <a object|bottr>target bot</a> 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.
pt_PT: Você deve seguir o <a object|bottr>robô alvo</a> 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.

note: type: \b; header
en: General principle
pt_PT: Princípio geral

note: type: Plain text
en: Repeat forever :
pt_PT: Repita para sempre:

note: type: Bullet: 'o'
en: Look for the target bot.
pt_PT: Procure o robô alvo:

note: type: Bullet: 'o'
en: Calculate the distance to the bot.
pt_PT: Calcule a distância para o robô.

note: type: Bullet: 'o'
en: if the distance to the target bot is less than 5m, move backward.
pt_PT: se a distância ao robô alvo for menor que 5m, mova-se para trás.

note: type: Bullet: 'o'
en: Otherwise, calculate the direction of the target bot, and move towards it.
pt_PT: Caso contrário, calcule a direção do robô alvo e mova-se em direção a ele.

note: type: Plain text
en: As many times before, use <code><a cbot|while>while</a> (true)</code> in order to perform the infinite loop:
pt_PT: Como muitas vezes antes, use <code><a cbot|while>while</a> (true)</code> para executar um laço infinito:

note: type: Source code
en: <code>while (true)
    {
    	</code>instructions to be repeated ...<c/>
    }
pt_PT: <code>while (true)
    {
    	</code>instruções a serem repetidas...<c/>
    }

note: type: Plain text
en: Look for the target bot with the instruction <code><a cbot|radar>radar</a></code>:
pt_PT: Procure o robô alvo com a instrução <code><a cbot|radar>radar</a></code>:

note: type: Source code
en: <c/>	target = radar(TargetBot);
pt_PT: <c/>	alvo = radar(TargetBot);

note: type: Plain text
en: You do not have to test if the radar found a target bot: there must be one.
pt_PT: Você não precisa testar se o radar encontrou um robô de destino: deve haver um.

note: type: Plain text
en: Use the instruction <code><a cbot|dist>distance</a>( , )</code> to calculate the distance between two points. The first point will be the position of your own bot, given by <code>position</code>. The second point is the position of the target bot, given by <code>target.position</code>.
pt_PT: Use a instrução <code><a cbot|dist>distance</a>( , )</code> para calcular a distância entre dois pontos. O primeiro ponto será a posição do seu próprio robô, dada por <code>position</code>. O segundo ponto é a posição do robô alvo, dada por <code>alvo.position</code>.

note: type: Source code
en: <c/>len = distance(position, target.position);
pt_PT: <c/>dist = distance(position, alvo.position);

note: type: Plain text
en: 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.
    	Distance = 5.0 meters -> speed =  0.0
    	Distance = 2.5 meters -> speed = -0.5
    	Distance = 0.0 meters -> speed = -1.0
    You can use the <a cbot|expr>expression</a> <code>distance/5-1</code> in order to achieve this, together with the <code><a cbot|if>if</a></code> to test if the target is closer than 5m:
pt_PT: 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. 
    	Distância = 5,0 metros -> velocidade = 0,0 
    	Distância = 2,5 metros -> velocidade = -0,5 
    	Distância = 0,0 metros -> velocidade = -1,0 
    Você pode usar a <a cbot|expr>expressão</a> <code>dist/5-1</code> para conseguir isso, junto com o <code><a cbot|if>if</a></code> para testar se o alvo está a menos de 5m:

note: type: Source code
en: <c/>if ( len < 5 )  // too close ?
    {
    	motor(len/5-1, len/5-1);  // moves backward
    }
pt_PT: <c/>if ( dist < 5 )  // muito perto?
    {
    	motor(dist/5-1, dist/5-1);  // move para trás
    }

note: type: Plain text
en: 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 <code><a cbot|direct>direction</a></code>. You can then adjust the speed of the right-hand and left-hand motor in order to follow the target:
pt_PT: 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 <code><a cbot|direct>direction</a></code>. Você pode então ajustar a velocidade do motor direito e esquerdo para seguir o alvo:

note: type: Source code
en: <c/>else
    {
    	dir = direction(target.position);
    	if ( dir >= 0 )  // target on the left side?
    	{
    		motor(1-dir/90, 1);
    	}
    	else  // target on the right side?
    	{
    		<n/>it is up to you to fill in<c/>
    	}
    }
pt_PT: <c/>else
    {
    	dir = direction(alvo.position);
    	if ( dir >= 0 )  // alvo no lado esquerdo?
    	{
    		motor(1-dir/90, 1);
    	}
    	else  // alvo no lado direito?
    	{
    		<n/>cabe a você preencher<c/>
    	}
    }

note: type: Plain text
en: When the target is on your left, <code>dir</code> takes a positive value, ranging between 0 and 180. The <a cbot|expr>expression</a> <code>1-dir/90</code> returns a speed ranging between 1 and -1, according to the direction:
    	direction =   0 -> speed =  1.0
    	direction =  45 -> speed =  0.5
    	direction =  90 -> speed =  0.0
    	direction = 135 -> speed = -0.5
    	direction = 180 -> speed = -1.0
pt_PT: Quando o alvo está à sua esquerda, <code>dir</code> recebe um valor positivo, variando entre 0 e 180. A <a cbot|expr>expressão</a> <code>1-dir/90</code> retorna uma velocidade que varia entre 1 e -1, de acordo com a direção: 
    	direção = 0 -> velocidade = 1,0 
    	direção = 45 -> velocidade = 0,5 
    	direção = 90 -> velocidade = 0.0 
    	direção = 135 -> velocidade = -0,5 
    	direção = 180 -> velocidade = -1.0

note: type: Plain text
en: When the target is on the right side, <code>dir</code> is negative, ranging between 0 and -180.
pt_PT: Quando o alvo está no lado direito, <code>dir</code> é negativo, variando entre 0 e -180.

note: type: Plain text
en: The only task left for you now is to declare the <a cbot|var>variables</a> that you use in the program. <code>target</code> is of type <code>object</code>, whereas <code>dir</code> and <code>len</code> are of type <code>float</code>.
pt_PT: A única tarefa que resta agora é declarar as <a cbot|var>variáveis</a> que você usa no programa. <code>alvo</code> é do tipo <code>object</code>, enquanto <code>dir</code> e <code>dist</code> são do tipo <code>float</code>.

note: type: \t; header
en: See also
pt_PT: Veja também

note: type: Plain text
en: <a cbot>Programming</a>, <a cbot|type>types</a> and <a cbot|category>categories</a>.
pt_PT: <a cbot>Programação</a>, <a cbot|type>tipos</a> e <a cbot|category>categorias</a>.
