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

note: type: Title-text
en: Wasp Hunter 2
pt_PT: Caçador de vespas 2

note: type: Resume-text
en: Get better at shooting down the wasps.
pt_PT: Fique melhor em abater as vespas.

note: type: ScriptName-text
en: Wasp2
pt_PT: Vespa2

note: type: \b; header
en: Objective
pt_PT: Objetivo

note: type: Plain text
en: Bring down the flying wasps in a more efficient way than with the previous program.
pt_PT: Derrube as vespas voadoras de uma maneira mais eficiente do que com o programa anterior.

note: type: \b; header
en: Program
pt_PT: Programa

note: type: Plain text
en: Here is again the program of the previous exercise that shoots down all the wasps after many, many unsuccessful attempts:
pt_PT: Aqui está novamente o programa do exercício anterior que abate todas as vespas depois de muitas, muitas tentativas malsucedidas:

note: type: Source code
en: extern void object::Wasp1()
    {
    	<a cbot|type>object</a>    item;
    	
    	<a cbot|aim>aim</a>(0);
    	
    	<a cbot|while>while</a> (true)
    	{
    		<a cbot|while>while</a> (<a cbot|radar>radar</a>(AlienWasp, 0, 360, 0, 20) == null)
    		{
    			item = <a cbot|radar>radar</a>(AlienWasp);
    			<a cbot|turn>turn</a>(<a cbot|direct>direction</a>(item.position));
    			<a cbot|motor>motor</a>(1,1);
    			
    			<a cbot|jet>jet</a>(0);
    			<a cbot|if>if</a> (position.z > item.position.z)
    			{
    				<a cbot|jet>jet</a>(-0.3);
    			}
    			
    			<a cbot|if>if</a> (position.z < item.position.z - 1)
    			{
    				<a cbot|jet>jet</a>(0.3);
    			}
    			
    			<a cbot|wait>wait</a>(0.2);
    		}
    		item = <a cbot|radar>radar</a>(AlienWasp);
    		<a cbot|turn>turn</a>(<a cbot|direct>direction</a>(item.position));
    		<a cbot|fire>fire</a>(1);
    	}
    }
pt_PT: extern void object::Vespa1()
    {
    	<a cbot|type>object</a>    item;
    	
    	<a cbot|aim>aim</a>(0);
    	
    	<a cbot|while>while</a> (true)
    	{
    		<a cbot|while>while</a> (<a cbot|radar>radar</a>(AlienWasp, 0, 360, 0, 20) == null)
    		{
    			item = <a cbot|radar>radar</a>(AlienWasp);
    			<a cbot|turn>turn</a>(<a cbot|direct>direction</a>(item.position));
    			<a cbot|motor>motor</a>(1,1);
    			
    			<a cbot|jet>jet</a>(0);
    			<a cbot|if>if</a> (position.z > item.position.z)
    			{
    				<a cbot|jet>jet</a>(-0.3);
    			}
    			
    			<a cbot|if>if</a> (position.z < item.position.z - 1)
    			{
    				<a cbot|jet>jet</a>(0.3);
    			}
    			
    			<a cbot|wait>wait</a>(0.2);
    		}
    		item = <a cbot|radar>radar</a>(AlienWasp);
    		<a cbot|turn>turn</a>(<a cbot|direct>direction</a>(item.position));
    		<a cbot|fire>fire</a>(1);
    	}
    }

note: type: Plain text
en: The many failures are due to the fact that the wasp is already gone before the bullets can reach it. The only way to improve the program consists in setting the power of the two motors and of the jet in such a way that the bot follows the movement of the target during the burst.
pt_PT: As muitas falhas se devem ao fato de que a vespa já se foi antes que as balas possam alcançá-la. A única maneira de melhorar o programa consiste em ajustar a potência dos dois motores e do jato de tal maneira que o robô siga o movimento do alvo durante a rajada.

note: type: Plain text
en: Just before the shot, the program adjusts a last time the direction with <c/>turn(direction(item.position));<n/>. In order to follow the wasp during the burst, you have to "remember" the angle of this last rotation: if the angle was positive (rotation to the left), the bot must continue to turn left during the burst; if the angle was negative, the bot must continue to turn right.
pt_PT: Pouco antes do disparo, o programa ajusta pela última vez a direção com <c/>turn(direction(item.position));<n/>. Para acompanhar a vespa durante a rajada, você deve "lembrar" o ângulo desta última rotação: se o ângulo foi positivo (rotação para a esquerda), o robô deve continuar a virar à esquerda durante a rajada; Se o ângulo foi negativo, o robô deve continuar a virar à direita.

note: type: Plain text
en: In order to "remember" the angle of the last rotation, we need a variable that can contain just one number. If we choose to call it <code>angle</code>, we must define the variable with the following line at the beginning of the program:
pt_PT: Para "lembrar" o ângulo da última rotação, precisamos de uma variável que possa conter apenas um número. Se escolhermos chamá-lo de <code>angulo</ code>, devemos definir a variável com a seguinte linha no início do programa:

note: type: Source code
en: 	<a cbot|type>float</a> angle;
pt_PT: 	<a cbot|type>float</a> angulo;

note: type: Plain text
en: The variable type <a cbot|type>float</a> is the variable type that can contain any number, i.e. whole numbers or real numbers. Please refer to the <a cbot|type>text about variable types</a> if you want to know more about the different types of variables and what they can contain.
pt_PT: O tipo de variável <a cbot|type>float</a> é o tipo de variável que pode conter qualquer número, ou seja, números inteiros ou reais. Por favor, consulte o texto <a cbot|type>sobre tipos de variáveis</a> se você quiser saber mais sobre os diferentes tipos de variáveis e o que elas podem conter.

note: type: Plain text
en: Just before the instruction <c/>fire(1);<n/>, instead of writing <c/><a cbot|turn>turn</a>(<a cbot|direct>direction</a>(item.position));<n/>, we will put the rotation angle into the variable <code>angle</code>:
pt_PT: Pouco antes da instrução <c/>fire(1);<n/>, em vez de escrever <c/><a cbot|turn>turn</a>(<a cbot|direct>direction</a>(item.position));<n/>, vamos colocar o ângulo de rotação na variável <code>angulo</code>:

note: type: Source code
en: 	angle = direction(item.position);
pt_PT: 	angulo = direction(item.position);

note: type: Plain text
en: Then we perform the rotation, and we set the power of the motors so that the bot continues the movement:
pt_PT: Em seguida, realizamos a rotação e definimos a potência dos motores para que o robô continue o movimento:

note: type: Source code
en: 	turn(angle);
    	if (angle < 0)
    	{
    		motor(1,0.5);
    	}
    	else
    	{
    		motor(0.5,1);
    	}
pt_PT: 	turn(angulo);
    	if (angulo < 0)
    	{
    		motor(1,0.5);
    	}
    	else
    	{
    		motor(0.5,1);
    	}

note: type: Plain text
en: The instruction <code>else</code> determines what instructions the program should execute if the condition stated in the <code>if</code> instruction is false.
pt_PT: A instrução <code>else</code> determina quais instruções o programa deve executar se a condição declarada na instrução <code>if</code> for falsa.

note: type: Plain text
en: Then we must set the power of the jet so that the bot follows the wasp also in the vertical direction:
pt_PT: Então devemos definir o poder do jato para que o robô siga a vespa também na direção vertical:

note: type: Plain text
en: As you will see, this program is much more efficient than the previous one!
pt_PT: Como você verá, este programa é muito mais eficiente que o anterior!

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>.
