0.1.11 - en_US to cs translation catalogue (36 entries)

note: type: \b; header
en_US: Programs dispatched by Houston
cs: Programy poslané z Houstonu

note: type: Plain text
en_US: Following is a program that has been developed by our engineers. It allows you to switch <a object|power>power cells</a>. A charged cell needs to be placed on the ground in front of the bot.
cs: Následující program vyvinuli naši inženýři. Slouží k výměně <a object|power>baterií</a>. Pro správné fungování musí na zemi před robotem ležet nabitá baterie.

note: type: Plain text
en_US: In order to execute this program, select the program <code>SwitchCell1</code> in the list of the programs available on the bot (on the lower left-hand corner of your screen), and click on the arrow symbol <button 21/>.
cs: Pro spuštění tohoto programu vyberte v seznamu nainstalovaných programů robota (v levém dolním rohu obrazovky) položku <code>SwitchCell1</code> a klikněte na tlačítko se šipkou <button 21/>.

note: type: Source code
en_US: extern void object::SwitchCell1()
    {
    	<a cbot|grab>grab</a>(InFront);     // take the new cell in front
    	<a cbot|drop>drop</a>(Behind);      // and drop it behind
    	
    	<a cbot|grab>grab</a>(EnergyCell);  // take the cell from the bot
    	<a cbot|drop>drop</a>(InFront);     // and drop it in front
    	
    	<a cbot|grab>grab</a>(Behind);      // take the new cell
    	<a cbot|drop>drop</a>(EnergyCell);  // and drop it on the bot
    }
cs: extern void object::SwitchCell1()
    {
    	<a cbot|grab>grab</a>(InFront);     // zvedne baterii pred robotem
    	<a cbot|drop>drop</a>(Behind);      // a polozi ji za sebe
    	
    	<a cbot|grab>grab</a>(EnergyCell);  // vynda vlastni baterii
    	<a cbot|drop>drop</a>(InFront);     // a polozi ji pred sebe
    	
    	<a cbot|grab>grab</a>(Behind);      // zvedne novou baterii
    	<a cbot|drop>drop</a>(EnergyCell);  // a vlozi ji do zdirky
    }

note: type: Plain text
en_US: We did not develop a specific program for this mission. However, you can develop your own programs if you think it would be useful.
cs: Pro tuto misi jsme nevyvinuli žádný nový program. Pokud se Vám to ale bude hodit, můžete si napsat vlastní programy.

note: type: \b; header
en_US: Archives
cs: Archivy

note: type: Plain text
en_US: Index of the programs dispatched in former missions:
cs: Seznam programů poslaných pro předchozí mise:

note: type: Plain text
en_US: Below is a program that has been developed by our engineers. It allows you to recharge the <a object|power>power cell</a> of a bot: it goes to the closest <a object|station>power station</a>, waits 5 seconds, and comes back to the initial position.
cs: Následující program vyvinuli naši inženýři. Slouží k nabití <a object|power>baterie</a> robota: Robot dojede na nejbližší <a object|station>nabíječku</a>, počká 5 sekund, a vrátí se na výchozí místo.

note: type: Plain text
en_US: Remark: If you click on an element of the program underlined in blue, your SatCom will display a text that explains this element. The texts that follow a double slash <code>//</code> are not part of the program, but are comments that help you to understand the program.
cs: Poznámka: Když kliknete na některý modře podtržený prvek programu, Váš SatKom zobrazí nápovědu k danému prvku. Text za dvěma lomítky <code>//</code> není součástí programu. Je to pouze komentář, který Vám má osvětlit smysl příslušných příkazů.

note: type: Source code
en_US: extern void object::Recharge1()
    {
    	<a cbot|type>point</a>  start;          // variable for initial pos.
    	<a cbot|type>object</a> item;           // info. about power station
    	
    	start = position;      // store initial position
    	
    	item = <a cbot|radar>radar</a>(<a cbot|category>PowerStation</a>); // look for station
    	<a cbot|goto>goto</a>(item.position);   // go to the power station
    	<a cbot|wait>wait</a>(5);               // wait 5 seconds
    	
    	<a cbot|goto>goto</a>(start);           // go back to initial pos.
    }
cs: extern void object::Recharge1()
    {
    	<a cbot|type>point</a>  start;          // promenna pro vychozi polohu
    	<a cbot|type>object</a> item;           // informace o nabijecce
    	
    	start = position;      // ulozit vychozi polohu
    	
    	item = <a cbot|radar>radar</a>(<a cbot|category>PowerStation</a>); // najit nabijecku
    	<a cbot|goto>goto</a>(item.position);   // dojet na nabijecku
    	<a cbot|wait>wait</a>(5);               // pockat 5 skund
    	
    	<a cbot|goto>goto</a>(start);           // zpet na vychozi misto
    }

note: type: Plain text
en_US: We have improved the recharge program. When it arrives at the <a object|station>power station</a>, the bot does not wait exactly 5 seconds, but only until the <a object|power>power cell</a> is fully charged. After the bot is back at the initial position, it displays a message on the screen.
cs: Vylepšili jsme nabíjecí program. Když robot dojede na <a object|station>nabíječku</a>, nebude čekat přesně 5 sekund, ale jen dokud se mu plně nenabije <a object|power>baterie</a>. Až se pak vrátí na výchozí místo, zobrazí zprávu na obrazovce.

note: type: Source code
en_US: extern void object::Recharge2()
    {
    	<a cbot|type>point</a>  start;          // variable for initial pos.
    	<a cbot|type>object</a> item;           // info. about power station
    	
    	start = position;      // store initial position
    	
    	item = <a cbot|radar>radar</a>(<a cbot|category>PowerStation</a>); // look for station
    	<a cbot|goto>goto</a>(item.position);   // go to the power station
    	
    	<a cbot|while>while</a> ( <a cbot|object>energyCell.energyLevel</a> < 1 )
    	{
    		<a cbot|wait>wait</a>(1);           // wait until recharged
    	}
    	
    	<a cbot|goto>goto</a>(start);           // go back to initial pos.
    	<a cbot|message>message</a>("Recharge completed");
    }
cs: extern void object::Recharge2()
    {
    	<a cbot|type>point</a>  start;          // promenna pro vychozi polohu
    	<a cbot|type>object</a> item;           // informace o nabijecce
    	
    	start = position;      // ulozit vychozi polohu
    	
    	item = <a cbot|radar>radar</a>(<a cbot|category>PowerStation</a>); // najit nabijecku
    	<a cbot|goto>goto</a>(item.position);   // dojet na nabijecku
    	
    	<a cbot|while>while</a> ( <a cbot|object>energyCell.energyLevel</a> < 1 )
    	{
    		<a cbot|wait>wait</a>(1);           // cekat na nabiti baterie
    	}
    	
    	<a cbot|goto>goto</a>(start);           // zpet na vychozi misto
    	<a cbot|message>message</a>("Recharge completed");
    }

note: type: Plain text
en_US: Below is one of the programs that has been developed by our engineers.
    It instructs a <a object|botgr>grabber</a> to retrieve the nearest chunk of <a object|titanore>titanium ore</a> and place it on the <a object|convert>converter</a>.
cs: Následující program vyvinuli naši inženýři.
    Slouží k řízení <a object|botgr>robotického ramena</a>, aby našlo nejbližší hroudu <a object|titanore>titanové rudy</a> a odvezlo ji do <a object|convert>konvertoru</a>.

note: type: Plain text
en_US: In order to execute this program, select the program <code>CollectTitanium1</code> in the list of the programs available on the bot (on the lower left-hand corner of your screen), and click on the arrow symbol <button 21/>. At any moment you can stop the program and take over at the controls with the stop button <button 8/>.
cs: Pro spuštění tohoto programu vyberte v seznamu nainstalovaných programů robota (v levém dolním rohu obrazovky) položku <code>CollectTitanium1</code> a klikněte na tlačítko se šipkou <button 21/>. Program můžete kdykoliv vypnout a převzít ovládání robota tlačítkem Zastavit <button 8/>.

note: type: Source code
en_US: extern void object::CollectTitanium1()
    {
    	// 1) Variable definition.
    	<a cbot|type>object</a>  item;            // info. about objects
    	
    	// 2) Go to the titanium ore and grab it.
    	item = <a cbot|radar>radar</a>(<a cbot|category>TitaniumOre</a>);// look for titanium ore
    	<a cbot|goto>goto</a>(item.position);     // go to the position
    	<a cbot|grab>grab</a>();                  // grab the titanium
    	
    	// 3) Go to the converter and drop it.
    	item = <a cbot|radar>radar</a>(<a cbot|category>Converter</a>); // look for converter
    	<a cbot|goto>goto</a>(item.position);     // go to the position
    	<a cbot|drop>drop</a>();                  // drop the titanium
    	<a cbot|move>move</a>(-2.5);              // step back 2.5 m
    }
cs: extern void object::CollectTitanium1()
    {
    	// 1) Deklarace promennych.
    	<a cbot|type>object</a>  item;            // informace o objektech
    	
    	// 2) Dojet k titanove rude a zvednout ji.
    	item = <a cbot|radar>radar</a>(<a cbot|category>TitaniumOre</a>);// najit titanovou rudu
    	<a cbot|goto>goto</a>(item.position);     // dojet na misto
    	<a cbot|grab>grab</a>();                  // zvednout rudu
    	
    	// 3) Dojet do konvertoru a polozit rudu.
    	item = <a cbot|radar>radar</a>(<a cbot|category>Converter</a>); // najit konvertor
    	<a cbot|goto>goto</a>(item.position);     // dojet na misto
    	<a cbot|drop>drop</a>();                  // pozolit rudu
    	<a cbot|move>move</a>(-2.5);              // zacouvat 2,5m
    }

note: type: Plain text
en_US: Below is one of the programs that has been developed by our engineers.
    An upgrade on the previous program: the <a object|botgr>grabber</a>, on its way back from the converter, makes a stop, if necessary, at the <a object|station>power station</a> to recharge its power cell.
cs: Níže je jeden z programů vyvinutých našimi inženýry.
    Vylepšení předchozího programu: Když to bude třeba, <a object|botgr>robotické rameno</a> se cestou z konvertoru zastaví na <a object|station>nabíječce</a> a nabije si baterii.

note: type: Plain text
en_US: This program also works on <a object|botgj>winged grabbers</a>, if the <a object|derrick>derrick</a> is on another island than the <a object|convert>converter</a>.
cs: Tento program funguje i na <a object|botgj>létajících ramenech</a>, když je <a object|derrick>vrtná věž</a> na jiném ostrově než <a object|convert>konvertor</a>.

note: type: Source code
en_US: extern void object::CollectTitanium2()
    {
    	// 1) Variable definition.
    	<a cbot|type>object</a>  item;            // info. about objects
    	
    	// 2) Go to the titanium ore and grab it.
    	item = <a cbot|radar>radar</a>(<a cbot|category>TitaniumOre</a>);// look for titanium ore
    	<a cbot|goto>goto</a>(item.position);     // go to the position
    	<a cbot|grab>grab</a>();                  // grab the titanium
    	
    	// 3) Go to the converter and drop it.
    	item = <a cbot|radar>radar</a>(<a cbot|category>Converter</a>); // look for converter
    	<a cbot|goto>goto</a>(item.position);     // go to the position
    	<a cbot|drop>drop</a>();                  // drop the titanium
    	<a cbot|move>move</a>(-2.5);              // step back 2.5 m
    		
    	// 4) If power cell half empty, recharges.
    	if ( energyCell.energyLevel < 0.5 )
    	{                               // if so:
    		item = <a cbot|radar>radar</a>(<a cbot|category>PowerStation</a>); // look for station
    		<a cbot|goto>goto</a>(item.position);        // go there
    		<a cbot|wait>wait</a>(5);                    // wait
    	}
    }
cs: extern void object::CollectTitanium2()
    {
    	// 1) Deklarace promennych.
    	<a cbot|type>object</a>  item;            // informace o objektech
    	
    	// 2) Dojet k titanove rude a zvednout ji.
    	item = <a cbot|radar>radar</a>(<a cbot|category>TitaniumOre</a>);// najit titanovou rudu
    	<a cbot|goto>goto</a>(item.position);     // dojet na misto
    	<a cbot|grab>grab</a>();                  // zvednout rudu
    	
    	// 3) Dojet do konvertoru a polozit rudu.
    	item = <a cbot|radar>radar</a>(<a cbot|category>Converter</a>); // najit konvertor
    	<a cbot|goto>goto</a>(item.position);     // dojet na misto
    	<a cbot|drop>drop</a>();                  // polozit rudu
    	<a cbot|move>move</a>(-2.5);              // zacouvat 2,5m
    		
    	// 4) Pokud je baterie poloprazdna, nabit se.
    	if ( energyCell.energyLevel < 0.5 )
    	{                               // kdyz podminka plati:
    		item = <a cbot|radar>radar</a>(<a cbot|category>PowerStation</a>); // najit nabijecku
    		<a cbot|goto>goto</a>(item.position);        // dojet tam
    		<a cbot|wait>wait</a>(5);                    // pockat
    	}
    }

note: type: Plain text
en_US: Execute the program <code>KillAnt1</code> immediately on your <a object|botfr>wheeled shooter</a>, it will protect your west flank. Meantime you can elaborate your defense strategy.
cs: Na svém <a object|botfr>pojízdném kanónu</a> ihned spusťte program <code>KillAnt1</code>, bude Vám hlídat západní stranu. Pak se můžete věnovat budování obranného perimetru.

note: type: Source code
en_US: extern void object::KillAnt1()
    {
    	<a cbot|type>object</a> item;             // info. about object
    	
    	<a cbot|goto>goto</a>(-30, 0);            // go west
    	<a cbot|aim>aim</a>(0);                  // aim straight
    	
    	<a cbot|while>while</a> ( true )           // repeat forever:
    	{
    		item = <a cbot|radar>radar</a>(<a cbot|category>AlienAnt</a>, 0, 360, 0, 40);
    		<a cbot|if>if</a> ( item != null )  // ant detected ?
    		{
    			<a cbot|turn>turn</a>(<a cbot|direct>direction</a>(item.position));
    			<a cbot|fire>fire</a>(0.5);       // shoot 0.5 s
    		}
    		<a cbot|wait>wait</a>(1);             // wait 1 second
    	}
    }
cs: extern void object::KillAnt1()
    {
    	<a cbot|type>object</a> item;             // informace o objektech
    	
    	<a cbot|goto>goto</a>(-30, 0);            // jet na zapad
    	<a cbot|aim>aim</a>(0);                  // namirit rovne pred sebe
    	
    	<a cbot|while>while</a> ( true )           // opakovat stale dokola:
    	{
    		item = <a cbot|radar>radar</a>(<a cbot|category>AlienAnt</a>, 0, 360, 0, 40);
    		<a cbot|if>if</a> ( item != null )  // nalezen mravenec?
    		{
    			<a cbot|turn>turn</a>(<a cbot|direct>direction</a>(item.position));
    			<a cbot|fire>fire</a>(0.5);       // vystrelit 0,5s
    		}
    		<a cbot|wait>wait</a>(1);             // pockat 1 sekundu
    	}
    }

note: type: Plain text
en_US: As you will need lots of titanium for this mission, we have made the program <code>CollectTitanium</code> still more efficient. It gathers a whole series of titanium cubes on a free surface, so you can let it work on its own. It also recharges itself at the <a object|station>power station</a> if necessary.
cs: Protože v této misi budete potřebovat spoustu titanu, opět jsme vylepšili program <code>CollectTitanium</code>. Robot bude vyrábět kostky titanu do zásoby a odkládat je na volném místě, takže ho můžete nechat pracovat samostatně. V případě potřeby si navíc sám dobije baterii na <a object|station>nabíječce</a>.

note: type: Source code
en_US: extern void object::CollectTitanium3()
    {
    	// 1) Variable definition.
    	<a cbot|type>object</a>  item;            // info. about objects
    	
    	<a cbot|while>while</a> (true)             // repeat forever
    	{
    		
    		// 2) Go to the titanium ore and grab it.
    		item = <a cbot|radar>radar</a>(<a cbot|category>TitaniumOre</a>);// look for titanium
    		<a cbot|goto>goto</a>(item.position);     // go to the position
    		<a cbot|grab>grab</a>();                  // grab the titanium
    		
    		// 3) Go to the converter and drop it.
    		item = <a cbot|radar>radar</a>(<a cbot|category>Converter</a>); // look for converter
    		<a cbot|goto>goto</a>(item.position);     // go to the position
    		<a cbot|drop>drop</a>();                  // drop the titanium
    		<a cbot|move>move</a>(-2.5);              // step back 2.5 m
    		
    		// 4) Wait until titanium converted and grab it
    		<a cbot|do>do</a>
    		{
    			<a cbot|wait>wait</a>(1);              // wait for cube
    			item = <a cbot|radar>radar</a>(<a cbot|category>Titanium</a>, 0, 45, 0, 5);
    		}
    		<a cbot|while>while</a> ( item == null );
    		<a cbot|goto>goto</a>(item.position);
    		<a cbot|grab>grab</a>();                   // grab it
    		
    		// 5) Drop on a free space
    		<a cbot|goto>goto</a>(<a cbot|space>space</a>(position));    // go to free space
    		<a cbot|drop>drop</a>();                   // drop titanium
    		
    		// 6) If power cell half empty, recharges.
    		<a cbot|if>if</a> ( energyCell.energyLevel < 0.5 )
    		{                         // if so:
    			item = <a cbot|radar>radar</a>(<a cbot|category>PowerStation</a>);
    			<a cbot|if>if</a> ( item != null )   // station found ?
    			{
    				<a cbot|goto>goto</a>(item.position); // go there
    				<a cbot|while>while</a> ( energyCell.energyLevel < 1 )
    				{                 // until recharged:
    					<a cbot|wait>wait</a>(1);      // wait
    				}
    			}
    		}
    	}
    }
cs: extern void object::CollectTitanium3()
    {
    	// 1) Deklarace promennych.
    	<a cbot|type>object</a>  item;            // informace o objektech
    	
    	<a cbot|while>while</a> (true)             // opakovat porad dokola
    	{
    		
    		// 2) Dojet k titanove rude a zvednout ji.
    		item = <a cbot|radar>radar</a>(<a cbot|category>TitaniumOre</a>);// najit titanovou rudu
    		<a cbot|goto>goto</a>(item.position);     // dojet na misto
    		<a cbot|grab>grab</a>();                  // zvednout rudu
    		
    		// 3) Dojet do konvertoru a polozit rudu.
    		item = <a cbot|radar>radar</a>(<a cbot|category>Converter</a>); // najit konvertor
    		<a cbot|goto>goto</a>(item.position);     // dojet na misto
    		<a cbot|drop>drop</a>();                  // polozit rudu
    		<a cbot|move>move</a>(-2.5);              // zacouvat 2,5m
    		
    		// 4) Pockat na dokonceni vyroby a zvednout titan.
    		<a cbot|do>do</a>
    		{
    			<a cbot|wait>wait</a>(1);              // cekat na kostku titanu
    			item = <a cbot|radar>radar</a>(<a cbot|category>Titanium</a>, 0, 45, 0, 5);
    		}
    		<a cbot|while>while</a> ( item == null );
    		<a cbot|goto>goto</a>(item.position);
    		<a cbot|grab>grab</a>();                   // zvednout ji
    		
    		// 5) Odlozit na volnem miste.
    		<a cbot|goto>goto</a>(<a cbot|space>space</a>(position));    // dojet na volne misto
    		<a cbot|drop>drop</a>();                   // polozit titan
    		
    		// 6) Pokud je baterie poloprazdna, nabit se.
    		<a cbot|if>if</a> ( energyCell.energyLevel < 0.5 )
    		{                         // pokud podminka plati:
    			item = <a cbot|radar>radar</a>(<a cbot|category>PowerStation</a>);
    			<a cbot|if>if</a> ( item != null )   // existuje nabijecka?
    			{
    				<a cbot|goto>goto</a>(item.position); // dojet na ni
    				<a cbot|while>while</a> ( energyCell.energyLevel < 1 )
    				{                 // dokud baterie neni nabita:
    					<a cbot|wait>wait</a>(1);      // cekat
    				}
    			}
    		}
    	}
    }

note: type: Plain text
en_US: We have developed a program that takes care of recharging the power cell of a <a object|tower>defense tower</a>:
cs: Vyvinuli jsme program, který se postará o nabíjení baterie <a object|tower>obranné věže</a>:

note: type: Bullet: '1)'
en_US: Go to a <a object|tower>defense tower</a>.
cs: Dojet k <a object|tower>obranné věži</a>.

note: type: Bullet: '2)'
en_US: Wait until the <a object|power>power cell</a> is 80% empty.
cs: Počkat, až bude <a object|power>baterie</a> z 80 % vybitá.

note: type: Bullet: '3)'
en_US: Grab the <a object|power>power cell</a> and recharge it on a <a object|station>power station</a>.
cs: Vzít <a object|power>baterii</a> a nabít ji na <a object|station>nabíječce</a>.

note: type: Bullet: '4)'
en_US: Put it back on the <a object|tower>defense tower</a>.
cs: Vrátit ji zpět do <a object|tower>obranné věže</a>.

note: type: Plain text
en_US: Build the <a object|station>power station</a> as close as possible to the tower in order to reduce the time when the tower has got no power cell. A good trick is to place a power cell on the ground in front of the tower. The wasp will attack the power cell, and if the first shoot misses or a wasp arrives when the defense tower has got no energy, only the power cell is destroyed and not the defense tower.
cs: <a object|station>Nabíječku</a> postavte co nejblíže k obranné věži, aby byla věž bez baterie co nejkratší dobu. Také můžete využít trik s druhou baterií, kterou položte před věž. Když pak přiletí vosa a věž první ranou netrefí nebo zrovna bude bez energie, vosa zničí pouze odloženou baterii.

note: type: Source code
en_US: extern void object::ServiceTower1()
    {
    	<a cbot|object>object</a>  tower;               // info. about tower
    	<a cbot|object>object</a>  station;             // info. about station
    	
    	// 1) go to the defense tower
    	tower = <a cbot|radar>radar</a>(DefenseTower); // look for tower
    	<a cbot|goto>goto</a>(tower.position);        // go there
    	
    	<a cbot|while>while</a> ( true )               // repeat forever
    	{
    		// 2) wait until power cell is empty
    		<a cbot|while>while</a> ( tower.energyCell.energyLevel > 0.2 )
    		{
    			<a cbot|wait>wait</a>(2);
    		}
    		<a cbot|grab>grab</a>();                  // grab the power cell
    		
    		// 3) go to the power station to recharge
    		station = <a cbot|radar>radar</a>(PowerStation);
    		<a cbot|goto>goto</a>(station.position);  // go there
    		<a cbot|while>while</a> ( load.energyLevel < 1 )
    		{
    			<a cbot|wait>wait</a>(1);             // wait until recharged
    		}
    		
    		// 4) go back to defense tower
    		<a cbot|goto>goto</a>(tower.position);    // go to tower
    		<a cbot|drop>drop</a>();                  // drop the power cell
    	}
    }
cs: extern void object::ServiceTower1()
    {
    	<a cbot|object>object</a>  tower;               // informace o vezi
    	<a cbot|object>object</a>  station;             // informace o nabijecce
    	
    	// 1) dojet k obranne vezi
    	tower = <a cbot|radar>radar</a>(DefenseTower); // najit vez
    	<a cbot|goto>goto</a>(tower.position);        // dojet na misto
    	
    	<a cbot|while>while</a> ( true )               // opakovat stale dokola
    	{
    		// 2) cekat, az bude baterie vybita
    		<a cbot|while>while</a> ( tower.energyCell.energyLevel > 0.2 )
    		{
    			<a cbot|wait>wait</a>(2);
    		}
    		<a cbot|grab>grab</a>();                  // vzit baterii
    		
    		// 3) dojet na nabijecku a nabit baterii
    		station = <a cbot|radar>radar</a>(PowerStation);
    		<a cbot|goto>goto</a>(station.position);  // dojet na misto
    		<a cbot|while>while</a> ( load.energyLevel < 1 )
    		{
    			<a cbot|wait>wait</a>(1);             // cekat na nabiti
    		}
    		
    		// 4) dojet zpet k vezi
    		<a cbot|goto>goto</a>(tower.position);    // dojet k vezi
    		<a cbot|drop>drop</a>();                  // polozit baterii
    	}
    }

note: type: Plain text
en_US: Below is a program that has been developed by our engineers.
cs: Následující program vyvinuli naši inženýři.

note: type: Plain text
en_US: It instructs the <a object|botshld>shielder</a> to follow and protect the <a object|botphaz>phazer</a>.
cs: Slouží k řízení <a object|botshld>mobilního štítu</a>, aby jezdil za <a object|botphaz>fázovým dělem</a> a chránil ho.

note: type: Source code
en_US: extern void object::FollowPhazer()
    {
    	<a cbot|type>object</a>    item;              // info. about phazer
    	<a cbot|type>point</a>     dest;              // position where to go
    	<a cbot|type>float</a>     dist;              // distance to phazer
    	
    	item = <a cbot|radar>radar</a>(<a cbot|category>PhazerShooter</a>);
    	<a cbot|if>if</a> ( item == null )
    	{
    		<a cbot|message>message</a>("No phazer found");
    		<a cbot|return>return</a>;                  // stop the program
    	}
    	<a cbot|shield>shield</a>(1, 25);               // activate the shield
    	
    	<a cbot|while>while</a> ( true )               // repeat forever
    	{
    		item = <a cbot|radar>radar</a>(PhazerShooter);// look for phazer
    		<a cbot|if>if</a> ( item == null )  break;
    		
    		dist = <a cbot|dist>distance</a>(item.position, position);
    		<a cbot|if>if</a> ( dist < 5 )
    		{                        // if closer than 5 m:
    			<a cbot|wait>wait</a>(1);             // wait
    		}
    		<a cbot|if>else</a>                     // otherwise:
    		{ // Calculate a position 5 m before the phazer
    			dest.x = (item.position.x-position.x)*((dist-5)/dist)+position.x;
    			dest.y = (item.position.y-position.y)*((dist-5)/dist)+position.y;
    			dest.z = (item.position.z-position.z)*((dist-5)/dist)+position.z;
    			<a cbot|goto>goto</a>(dest, 0, 1, 1); // and go there
    		}
    	}
    }
cs: extern void object::FollowPhazer()
    {
    	<a cbot|type>object</a>    item;              // informace o fazovem delu
    	<a cbot|type>point</a>     dest;              // misto, kam jet
    	<a cbot|type>float</a>     dist;              // vzdalenost k fazovemu delu
    	
    	item = <a cbot|radar>radar</a>(<a cbot|category>PhazerShooter</a>);
    	<a cbot|if>if</a> ( item == null )
    	{
    		<a cbot|message>message</a>("No phazer found");
    		<a cbot|return>return</a>;                  // ukoncit program
    	}
    	<a cbot|shield>shield</a>(1, 25);               // zapnout stit
    	
    	<a cbot|while>while</a> ( true )               // opakovat stale dokola
    	{
    		item = <a cbot|radar>radar</a>(PhazerShooter);// najit fazove delo
    		<a cbot|if>if</a> ( item == null )  break;
    		
    		dist = <a cbot|dist>distance</a>(item.position, position);
    		<a cbot|if>if</a> ( dist < 5 )
    		{                        // pokud je delo blize nez 5m
    			<a cbot|wait>wait</a>(1);             // cekat
    		}
    		<a cbot|if>else</a>                     // jinak:
    		{ // Vypocitat bod 5m od fazoveho dela
    			dest.x = (item.position.x-position.x)*((dist-5)/dist)+position.x;
    			dest.y = (item.position.y-position.y)*((dist-5)/dist)+position.y;
    			dest.z = (item.position.z-position.z)*((dist-5)/dist)+position.z;
    			<a cbot|goto>goto</a>(dest, 0, 1, 1); // a dojet tam
    		}
    	}
    }

note: type: Plain text
en_US: According to the data transmitted by the satellite, our engineers have developed two programs. The first one guides the <a object|botshld>shielder bot</a> through the narrow valley north close to the place where the key has been located. You can follow it without fearing any attack:
cs: Naši inženýři podle dat získaných ze satelitu vyvinuli dva programy. První program pošle <a object|botshld>mobilní štít</a> skrz úzké údolí na severu k místu, kde byl nalezen klíč. Vy můžete údolím spolu se štítem bezpečně projít:

note: type: Source code
en_US: extern void object::Outward()
    {
    	<a cbot|shield>shield</a>(1,15);   // activate the shield
    	<a cbot|goto>goto</a>(6,160);    // go close to the key
    	<a cbot|shield>shield</a>(0,15);   // deactivate the shield
    }
cs: extern void object::Outward()
    {
    	<a cbot|shield>shield</a>(1,15);   // zapnout silove pole
    	<a cbot|goto>goto</a>(6,160);    // dojet ke klici
    	<a cbot|shield>shield</a>(0,15);   // vypnout silove pole
    }

note: type: Plain text
en_US: The second program guides the <a object|botshld>shielder bot</a> back to the <a object|base>spaceship</a>:
cs: Druhý program pošle <a object|botshld>mobilní štít</a> zpět k <a object|base>raketě</a>:

note: type: Source code
en_US: extern void object::Return()
    {
    	<a cbot|shield>shield</a>(1,15);   // activate the shield
    	<a cbot|goto>goto</a>(8,60);     // go to the spaceship
    	<a cbot|shield>shield</a>(0,15);   // deactivate the shield
    }
cs: extern void object::Return()
    {
    	<a cbot|shield>shield</a>(1,15);   // zapnout silove pole
    	<a cbot|goto>goto</a>(8,60);     // dojet k rakete
    	<a cbot|shield>shield</a>(0,15);   // vypnout silove pole
    }
