Translate exercises chapter 6 and 7
parent
1636cf3da2
commit
634192640b
Binary file not shown.
After Width: | Height: | Size: 1.8 KiB |
Binary file not shown.
After Width: | Height: | Size: 34 KiB |
|
@ -6,7 +6,7 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: 0.1.11\n"
|
"Project-Id-Version: 0.1.11\n"
|
||||||
"POT-Creation-Date: DATE\n"
|
"POT-Creation-Date: DATE\n"
|
||||||
"PO-Revision-Date: 2018-03-25 15:54+01\n"
|
"PO-Revision-Date: 2018-03-25 15:54+02\n"
|
||||||
"Last-Translator: next_ghost <next_ghost@quick.cz>\n"
|
"Last-Translator: next_ghost <next_ghost@quick.cz>\n"
|
||||||
"Language-Team: Czech <next_ghost@quick.cz>\n"
|
"Language-Team: Czech <next_ghost@quick.cz>\n"
|
||||||
"Language: Czech\n"
|
"Language: Czech\n"
|
||||||
|
|
|
@ -0,0 +1,240 @@
|
||||||
|
# This file is part of the Colobot: Gold Edition source code
|
||||||
|
# Copyright (C) 2001-2016, Daniel Roux, EPSITEC SA & TerranovaTeam
|
||||||
|
# This file is distributed under the same license as the Colobot package.
|
||||||
|
# next_ghost <next_ghost@quick.cz>, 2018.
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: 0.1.11\n"
|
||||||
|
"POT-Creation-Date: DATE\n"
|
||||||
|
"PO-Revision-Date: 2018-03-25 21:32+02\n"
|
||||||
|
"Last-Translator: next_ghost <next_ghost@quick.cz>\n"
|
||||||
|
"Language-Team: Czech <next_ghost@quick.cz>\n"
|
||||||
|
"Language: Czech\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Plural-Forms: nplurals=3; plural=((n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2);\n"
|
||||||
|
"X-Language: cs_CZ\n"
|
||||||
|
"X-Source-Language: en_US\n"
|
||||||
|
|
||||||
|
#. type: Title-text
|
||||||
|
#: ../scene.txt:1
|
||||||
|
#, no-wrap
|
||||||
|
msgid "A function"
|
||||||
|
msgstr "Funkce"
|
||||||
|
|
||||||
|
#. type: Resume-text
|
||||||
|
#: ../scene.txt:2
|
||||||
|
#, no-wrap
|
||||||
|
msgid "Create a function in order to make your program shorter."
|
||||||
|
msgstr "Napište funkci, abyste si zjednodušili program."
|
||||||
|
|
||||||
|
#. type: ScriptName-text
|
||||||
|
#: ../scene.txt:3
|
||||||
|
#, no-wrap
|
||||||
|
msgid "Move"
|
||||||
|
msgstr "Trasa"
|
||||||
|
|
||||||
|
#. type: \b; header
|
||||||
|
#: ../help/help.E.txt:1
|
||||||
|
#, no-wrap
|
||||||
|
msgid "Exercise"
|
||||||
|
msgstr "Cvičení"
|
||||||
|
|
||||||
|
#. type: Plain text
|
||||||
|
#: ../help/help.E.txt:2
|
||||||
|
#, no-wrap
|
||||||
|
msgid "The <a object|bottr>bot</a> must pass over all the <a object|waypoint>blue crosses</a> on the ground. The way that must be covered is made of two squares. The first one measures 15 meters, the second 25 meters."
|
||||||
|
msgstr "<a object|bottr>Robot</a> musí projet přes všechny <a object|waypoint>modré křížky</a> na zemi. Trasa se skládá ze dvou čtverců. První čtverec měří 15 metrů, druhý 25 metrů."
|
||||||
|
|
||||||
|
#. type: Image filename
|
||||||
|
#: ../help/help.E.txt:4
|
||||||
|
#, no-wrap
|
||||||
|
msgid "tproc1a"
|
||||||
|
msgstr "tproc1a"
|
||||||
|
|
||||||
|
#. type: \b; header
|
||||||
|
#: ../help/help.E.txt:5
|
||||||
|
#, no-wrap
|
||||||
|
msgid "General principle"
|
||||||
|
msgstr "Obecný postup"
|
||||||
|
|
||||||
|
#. type: Plain text
|
||||||
|
#: ../help/help.E.txt:6
|
||||||
|
#, no-wrap
|
||||||
|
msgid "In order to solve this problem, the most efficient solution consists in creating a <a cbot|function>function</a> that instructs the bot to move on a square shape of a certain size. The main program becomes then very simple:<c/>"
|
||||||
|
msgstr "Nejjednodušším řešením tohoto úkolu je vytvořit <a cbot|function>funkci</a>, která robota pošle objet čtverec o zadané délce. Hlavní program pak bude velmi jednoduchý:<c/>"
|
||||||
|
|
||||||
|
#. type: Source code
|
||||||
|
#: ../help/help.E.txt:7
|
||||||
|
#, no-wrap
|
||||||
|
msgid ""
|
||||||
|
"extern void object::Function1( )\n"
|
||||||
|
"{\n"
|
||||||
|
"\tSquare(15);\n"
|
||||||
|
"\tSquare(25);\n"
|
||||||
|
"}"
|
||||||
|
msgstr ""
|
||||||
|
"extern void object::Trasa( )\n"
|
||||||
|
"{\n"
|
||||||
|
"\tSquare(15);\n"
|
||||||
|
"\tSquare(25);\n"
|
||||||
|
"}"
|
||||||
|
|
||||||
|
#. type: Plain text
|
||||||
|
#: ../help/help.E.txt:13
|
||||||
|
#, no-wrap
|
||||||
|
msgid "You still have to define the function called <code>Square</code>. In order to do this, you will have to write some instructions outside the <a cbot|bloc>block</a> that until now was the frame of each one of your programs. At the very end of the program, after the last closing brace, we will define the function <code>Square</code>. The program will take the following shape:"
|
||||||
|
msgstr "Teď ještě musíte naprogramovat funkci nazvanou <code>Square</code>. Pro vytvoření nové funkce musíte napsat několik příkazů mimo <a cbot|bloc>blok</a>, který až doteď obsahoval celý Váš program. Úplně na konci programu, až za poslední složenou závorkou, definujeme funkci <code>Square</code>. Program pak bude vypadat takto:"
|
||||||
|
|
||||||
|
#. type: Source code
|
||||||
|
#: ../help/help.E.txt:15
|
||||||
|
#, no-wrap
|
||||||
|
msgid ""
|
||||||
|
"extern void object::Function1( )\n"
|
||||||
|
"{\n"
|
||||||
|
"\t<n/>main function ...<code>\n"
|
||||||
|
"}\n"
|
||||||
|
"\n"
|
||||||
|
"void object::Square(float length)\n"
|
||||||
|
"{\n"
|
||||||
|
"\t</code>new function ...<c/>\n"
|
||||||
|
"}"
|
||||||
|
msgstr ""
|
||||||
|
"extern void object::Trasa( )\n"
|
||||||
|
"{\n"
|
||||||
|
"\t<n/>hlavní funkce...<code>\n"
|
||||||
|
"}\n"
|
||||||
|
"\n"
|
||||||
|
"void object::Square(float length)\n"
|
||||||
|
"{\n"
|
||||||
|
"\t</code>nová funkce...<c/>\n"
|
||||||
|
"}"
|
||||||
|
|
||||||
|
#. type: Plain text
|
||||||
|
#: ../help/help.E.txt:25
|
||||||
|
#, no-wrap
|
||||||
|
msgid "Let us look in detail at the different elements of the declaration of the function <code>Square</code>:"
|
||||||
|
msgstr "Podívejme se podrobně na jednotlivé prvky definice funkce <code>Square</code>:"
|
||||||
|
|
||||||
|
#. type: Plain text
|
||||||
|
#: ../help/help.E.txt:27
|
||||||
|
#, no-wrap
|
||||||
|
msgid ""
|
||||||
|
"<code><a cbot|void>void</a></code>\n"
|
||||||
|
"This means that this function will return no value."
|
||||||
|
msgstr ""
|
||||||
|
"<code><a cbot|void>void</a></code>\n"
|
||||||
|
"Toto znamená, že funkce nebude vracet žádnou hodnotu."
|
||||||
|
|
||||||
|
#. type: Plain text
|
||||||
|
#: ../help/help.E.txt:30
|
||||||
|
#, no-wrap
|
||||||
|
msgid ""
|
||||||
|
"<code><a cbot|object>object</a>::</code>\n"
|
||||||
|
"When you write this in front of the function name, you can have access in the function to all the characteristics of the bot, such as <code>position</code>, <code>orientation</code>, etc. In this exercise, this element is not compulsory, as we will not need the characteristics of the bot in the function."
|
||||||
|
msgstr ""
|
||||||
|
"<code><a cbot|object>object</a>::</code>\n"
|
||||||
|
"Když toto napíšete před název funkce, budete mít uvnitř funkce přístup ke všem vlastnostem robota, například k proměnným <code>position</code>, <code>orientation</code>, atd. V tomto cvičení můžete tento prvek vynechat, protože ve funkci <code>Square</code> nebudeme vlastnosti robota potřebovat."
|
||||||
|
|
||||||
|
#. type: Plain text
|
||||||
|
#: ../help/help.E.txt:33
|
||||||
|
#, no-wrap
|
||||||
|
msgid ""
|
||||||
|
"<code>Square ( )</code>\n"
|
||||||
|
"This is the name of the function. You can call it Square, or any other name."
|
||||||
|
msgstr ""
|
||||||
|
"<code>Square ( )</code>\n"
|
||||||
|
"Toto je název funkce. Můžete ji nazvat Square, nebo i libovolně jinak."
|
||||||
|
|
||||||
|
#. type: Plain text
|
||||||
|
#: ../help/help.E.txt:36
|
||||||
|
#, no-wrap
|
||||||
|
msgid ""
|
||||||
|
"<code><a cbot|float>float</a> length</code>\n"
|
||||||
|
"Here you define the parameters that the function will get when it is called. The first time the function is actually called with <code>Square(15)</code>, the variable <code>length</code> will contain the value <code>15</code>. The second time, <code>length</code> will contain <code>25</code>."
|
||||||
|
msgstr ""
|
||||||
|
"<code><a cbot|float>float</a> length</code>\n"
|
||||||
|
"Zde definujete parametry, které funkci musíte předat, když ji voláte. Poprvé budeme funkci volat jako <code>Square(15)</code>, takže proměnná <code>length</code> dostane hodnotu <code>15</code>. Podruhé dostane proměnná <code>length</code> hodnotu <code>25</code>."
|
||||||
|
|
||||||
|
#. type: Bullet: '-'
|
||||||
|
#: ../help/help.E.txt:40
|
||||||
|
#, no-wrap
|
||||||
|
msgid "First the main function <code>Function</code> will be executed."
|
||||||
|
msgstr "Nejprve se spustí hlavní funkce <code>Trasa</code>."
|
||||||
|
|
||||||
|
#. type: Bullet: '-'
|
||||||
|
#: ../help/help.E.txt:41
|
||||||
|
#, no-wrap
|
||||||
|
msgid "At the line <code>Square(15)</code>, the program will follow the red arrow and enter the function <code>Square</code> a first time, <code>length</code> containing <code>15</code>."
|
||||||
|
msgstr "Na řádku <code>Square(15)</code> program poprvé zavolá funkci <code>Square</code> s hodnotou <code>15</code> v proměnné <code>length</code>, jak znázorňuje červená šipka."
|
||||||
|
|
||||||
|
#. type: Bullet: '-'
|
||||||
|
#: ../help/help.E.txt:42
|
||||||
|
#, no-wrap
|
||||||
|
msgid "At the end of the function <code>Square</code>, the program follows the orange arrow and comes back to the main function."
|
||||||
|
msgstr "Na konci funkce <code>Square</code> se program vrátí po oranžové šipce zpět do hlavní funkce."
|
||||||
|
|
||||||
|
#. type: Bullet: '-'
|
||||||
|
#: ../help/help.E.txt:43
|
||||||
|
#, no-wrap
|
||||||
|
msgid "At the line <code>Square(25)</code>, the program will follow the blue arrow and enter the function <code>Square</code> a second time."
|
||||||
|
msgstr "Na řádku <code>Square(25)</code> program zavolá funkci <code>Square</code> podruhé, jak znázorňuje modrá šipka."
|
||||||
|
|
||||||
|
#. type: Bullet: '-'
|
||||||
|
#: ../help/help.E.txt:44
|
||||||
|
#, no-wrap
|
||||||
|
msgid "At the end of the function <code>Square</code>, the program follows the light blue arrow and comes back to the main function."
|
||||||
|
msgstr "Na konci funkce <code>Square</code> se program opět vrátí do hlavní funkce po světle modré šipce."
|
||||||
|
|
||||||
|
#. type: Image filename
|
||||||
|
#: ../help/help.E.txt:46
|
||||||
|
#, no-wrap
|
||||||
|
msgid "tproc1b"
|
||||||
|
msgstr "tproc1b_cs"
|
||||||
|
|
||||||
|
#. type: Plain text
|
||||||
|
#: ../help/help.E.txt:47
|
||||||
|
#, no-wrap
|
||||||
|
msgid "In the function <code>Square</code>, use the instructions <code><a cbot|move>move</a></code> and <code><a cbot|turn>turn</a></code>. In order to make it shorter, you can use a <code><a cbot|for>for</a></code> loop, that will repeat the instructions <code><a cbot|move>move</a></code> and <code><a cbot|turn>turn</a></code> 4 times; however, this is not compulsory."
|
||||||
|
msgstr "Ve funkci <code>Square</code> použijte příkazy <code><a cbot|move>move</a></code> a <code><a cbot|turn>turn</a></code>. Pro zjednodušení můžete použít i cyklus <code><a cbot|for>for</a></code>, abyste příkazy <code><a cbot|move>move</a></code> a <code><a cbot|turn>turn</a></code> zopakovali čtyřikrát. Ale pokud nechcete, nemusíte."
|
||||||
|
|
||||||
|
#. type: Source code
|
||||||
|
#: ../help/help.E.txt:49
|
||||||
|
#, no-wrap
|
||||||
|
msgid ""
|
||||||
|
"void object::Square(float length)\n"
|
||||||
|
"{\n"
|
||||||
|
"\tfor ( int i=0 ; i<4 ; i=i+1 )\n"
|
||||||
|
"\t{\n"
|
||||||
|
"\t\tmove(length);\n"
|
||||||
|
"\t\tturn(90);\n"
|
||||||
|
"\t}\n"
|
||||||
|
"}"
|
||||||
|
msgstr ""
|
||||||
|
"void object::Square(float length)\n"
|
||||||
|
"{\n"
|
||||||
|
"\tfor ( int i=0 ; i<4 ; i=i+1 )\n"
|
||||||
|
"\t{\n"
|
||||||
|
"\t\tmove(length);\n"
|
||||||
|
"\t\tturn(90);\n"
|
||||||
|
"\t}\n"
|
||||||
|
"}"
|
||||||
|
|
||||||
|
#. type: \t; header
|
||||||
|
#: ../help/help.E.txt:58
|
||||||
|
#, no-wrap
|
||||||
|
msgid "See also"
|
||||||
|
msgstr "Užitečné odkazy"
|
||||||
|
|
||||||
|
#. type: Plain text
|
||||||
|
#: ../help/help.E.txt:59
|
||||||
|
#, no-wrap
|
||||||
|
msgid "<a cbot>Programming</a>, <a cbot|type>types</a> and <a cbot|category>categories</a>."
|
||||||
|
msgstr "<a cbot>Programování</a>, <a cbot|type>datové typy</a> a <a cbot|category>kategorie</a>."
|
||||||
|
|
||||||
|
#. type: Plain text
|
||||||
|
#: ../help/help.E.txt:39
|
||||||
|
#, no-wrap
|
||||||
|
msgid "Here is in detail what will happen when the program is executed:"
|
||||||
|
msgstr "Program bude po spuštění fungovat takto:"
|
|
@ -0,0 +1,148 @@
|
||||||
|
# This file is part of the Colobot: Gold Edition source code
|
||||||
|
# Copyright (C) 2001-2016, Daniel Roux, EPSITEC SA & TerranovaTeam
|
||||||
|
# This file is distributed under the same license as the Colobot package.
|
||||||
|
# next_ghost <next_ghost@quick.cz>, 2018.
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: 0.1.11\n"
|
||||||
|
"POT-Creation-Date: DATE\n"
|
||||||
|
"PO-Revision-Date: 2018-03-26 22:24+02\n"
|
||||||
|
"Last-Translator: next_ghost <next_ghost@quick.cz>\n"
|
||||||
|
"Language-Team: Czech <next_ghost@quick.cz>\n"
|
||||||
|
"Language: Czech\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Plural-Forms: nplurals=3; plural=((n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2);\n"
|
||||||
|
"X-Language: cs_CZ\n"
|
||||||
|
"X-Source-Language: en_US\n"
|
||||||
|
|
||||||
|
#. type: Title-text
|
||||||
|
#: ../scene.txt:1
|
||||||
|
#, no-wrap
|
||||||
|
msgid "Spiral"
|
||||||
|
msgstr "Spirála"
|
||||||
|
|
||||||
|
#. type: Resume-text
|
||||||
|
#: ../scene.txt:2
|
||||||
|
#, no-wrap
|
||||||
|
msgid "Create a procedure in order to teach your bot to perform a spiral."
|
||||||
|
msgstr "Napište funkci, aby robot projel spirálovou dráhu."
|
||||||
|
|
||||||
|
#. type: ScriptName-text
|
||||||
|
#: ../scene.txt:3
|
||||||
|
#, no-wrap
|
||||||
|
msgid "Move"
|
||||||
|
msgstr "Trasa"
|
||||||
|
|
||||||
|
#. type: \b; header
|
||||||
|
#: ../help/help.E.txt:1
|
||||||
|
#, no-wrap
|
||||||
|
msgid "Exercise"
|
||||||
|
msgstr "Cvičení"
|
||||||
|
|
||||||
|
#. type: Image filename
|
||||||
|
#: ../help/help.E.txt:3
|
||||||
|
#, no-wrap
|
||||||
|
msgid "tproc2"
|
||||||
|
msgstr "tproc2"
|
||||||
|
|
||||||
|
#. type: \b; header
|
||||||
|
#: ../help/help.E.txt:4
|
||||||
|
#, no-wrap
|
||||||
|
msgid "Function"
|
||||||
|
msgstr "Funkce"
|
||||||
|
|
||||||
|
#. type: Plain text
|
||||||
|
#: ../help/help.E.txt:5
|
||||||
|
#, no-wrap
|
||||||
|
msgid "You will have noticed that the way is made of \"L\"-shaped parts that are fit one into another. The first one (dark blue) measures two times 25 meters. The second one (light blue) measures 5 meters less. Let us start with writing the <a cbot|function>function</a> that will move the bot on a \"L\"-shaped part whose length will be given as a parameter:"
|
||||||
|
msgstr "Jistě jste si všimli, že se trasa skládá ze segmentů ve tvaru \"L\" poskládaných do sebe. Rovné úseky prvního segmentu (tmavě modrý) měří 25 metrů. V druhém segmentu (světle modrý) měří o 5 metrů méně. Nejprve napíšeme <a cbot|function>funkci</a>, která robota pošle projet dráhu ve tvaru \"L\" s úseky zadané délky:"
|
||||||
|
|
||||||
|
#. type: Source code
|
||||||
|
#: ../help/help.E.txt:7
|
||||||
|
#, no-wrap
|
||||||
|
msgid ""
|
||||||
|
"void object::Part(float length)\n"
|
||||||
|
"{\n"
|
||||||
|
"\tfor ( int i=0 ; i<2 ; i=i+1 )\n"
|
||||||
|
"\t{\n"
|
||||||
|
"\t\tmove(length);\n"
|
||||||
|
"\t\tturn(90);\n"
|
||||||
|
"\t}\n"
|
||||||
|
"}"
|
||||||
|
msgstr ""
|
||||||
|
"void object::Segment(float length)\n"
|
||||||
|
"{\n"
|
||||||
|
"\tfor ( int i=0 ; i<2 ; i=i+1 )\n"
|
||||||
|
"\t{\n"
|
||||||
|
"\t\tmove(length);\n"
|
||||||
|
"\t\tturn(90);\n"
|
||||||
|
"\t}\n"
|
||||||
|
"}"
|
||||||
|
|
||||||
|
#. type: Plain text
|
||||||
|
#: ../help/help.E.txt:16
|
||||||
|
#, no-wrap
|
||||||
|
msgid "Now you just need to write the main function, that will call the function <code>Part</code>. At the beginning the variable <code>rest</code> will be set to 25m. The <code>while</code> loop will then repeat the instructions inside the block as long as <code>rest</code> is greater than zero. Inside the loop, first call the function <code>Part</code> (see above), then subtract 5m to the length of the L."
|
||||||
|
msgstr "Dále už zbývá jen napsat hlavní funkci, která bude volat funkci <code>Segment</code>. Na začátku se do proměnné <code>rest</code> uloží hodnota 25. Cyklus <code>while</code> pak bude příkazy uvnitř bloku opakovat, dokud proměnná <code>rest</code> bude větší než nula. Uvnitř cyklu nejprve zavolejte funkci <code>Segment</code> (viz výše), a pak odečtěte 5m z délky úseku."
|
||||||
|
|
||||||
|
#. type: Source code
|
||||||
|
#: ../help/help.E.txt:18
|
||||||
|
#, no-wrap
|
||||||
|
msgid ""
|
||||||
|
"extern void object::Function2( )\n"
|
||||||
|
"{\n"
|
||||||
|
"\tfloat\trest = 25;\n"
|
||||||
|
"\twhile ( rest > 0 )\n"
|
||||||
|
"\t{\n"
|
||||||
|
"\t\tPart(rest);\n"
|
||||||
|
"\t\trest = rest-5;\n"
|
||||||
|
"\t}\n"
|
||||||
|
"}"
|
||||||
|
msgstr ""
|
||||||
|
"extern void object::Trasa( )\n"
|
||||||
|
"{\n"
|
||||||
|
"\tfloat\trest = 25;\n"
|
||||||
|
"\twhile ( rest > 0 )\n"
|
||||||
|
"\t{\n"
|
||||||
|
"\t\tSegment(rest);\n"
|
||||||
|
"\t\trest = rest-5;\n"
|
||||||
|
"\t}\n"
|
||||||
|
"}"
|
||||||
|
|
||||||
|
#. type: Plain text
|
||||||
|
#: ../help/help.E.txt:28
|
||||||
|
#, no-wrap
|
||||||
|
msgid "The function <code>Part</code> will be called a last time with the value <code>5</code>. Then the expression <code>rest-5</code> will set the value of the variable <code>rest</code> to zero, and the <code>while</code> loop will stop."
|
||||||
|
msgstr "Funkce <code>Segment</code> se bude naposledy volat s hodnotou <code>5</code>. Pak výraz <code>rest-5</code> sníží hodnotu proměnné <code>rest</code> na nulu a cyklus <code>while</code> skončí."
|
||||||
|
|
||||||
|
#. type: \b; header
|
||||||
|
#: ../help/help.E.txt:30
|
||||||
|
#, no-wrap
|
||||||
|
msgid "Remark"
|
||||||
|
msgstr "Poznámky"
|
||||||
|
|
||||||
|
#. type: Plain text
|
||||||
|
#: ../help/help.E.txt:31
|
||||||
|
#, no-wrap
|
||||||
|
msgid "You will have noticed that in the previous exercise, the main function was at the beginning of the program, whereas in this exercise, it is at the end of the program, after the function <code>Part</code>. The rank order of the functions in the program does not matter, you can write a program either way."
|
||||||
|
msgstr "Jistě jste si všimli, že v předchozím cvičení byla hlavní funkce na začátku programu, zatímco v tomto cvičení je až na konci za funkcí <code>Segment</code>. Na pořadí funkcí v programu nezáleží, fungovat budou obě možnosti."
|
||||||
|
|
||||||
|
#. type: \t; header
|
||||||
|
#: ../help/help.E.txt:33
|
||||||
|
#, no-wrap
|
||||||
|
msgid "See also"
|
||||||
|
msgstr "Užitečné odkazy"
|
||||||
|
|
||||||
|
#. type: Plain text
|
||||||
|
#: ../help/help.E.txt:34
|
||||||
|
#, no-wrap
|
||||||
|
msgid "<a cbot>Programming</a>, <a cbot|type>types</a> and <a cbot|category>categories</a>."
|
||||||
|
msgstr "<a cbot>Programování</a>, <a cbot|type>datové typy</a> a <a cbot|category>kategorie</a>."
|
||||||
|
|
||||||
|
#. type: Plain text
|
||||||
|
#: ../help/help.E.txt:2
|
||||||
|
#, no-wrap
|
||||||
|
msgid "Follow the way in form of a spiral. The bot must move 2 times 25m forward and turn, then move 2 times 20m forward and turn, and so on."
|
||||||
|
msgstr "Projeďte spirálovou dráhu. Robot musí dvakrát popojet 25m vpřed a zatočit, pak dvakrát 20m vpřed a zatočit, a tak dále."
|
|
@ -0,0 +1,218 @@
|
||||||
|
# This file is part of the Colobot: Gold Edition source code
|
||||||
|
# Copyright (C) 2001-2016, Daniel Roux, EPSITEC SA & TerranovaTeam
|
||||||
|
# This file is distributed under the same license as the Colobot package.
|
||||||
|
# next_ghost <next_ghost@quick.cz>, 2018.
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: 0.1.11\n"
|
||||||
|
"POT-Creation-Date: DATE\n"
|
||||||
|
"PO-Revision-Date: 2018-03-28 23:38+02\n"
|
||||||
|
"Last-Translator: next_ghost <next_ghost@quick.cz>\n"
|
||||||
|
"Language-Team: Czech <next_ghost@quick.cz>\n"
|
||||||
|
"Language: Czech\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Plural-Forms: nplurals=3; plural=((n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2);\n"
|
||||||
|
"X-Language: cs_CZ\n"
|
||||||
|
"X-Source-Language: en_US\n"
|
||||||
|
|
||||||
|
#. type: Title-text
|
||||||
|
#: ../scene.txt:1
|
||||||
|
#, no-wrap
|
||||||
|
msgid "Remote control #2"
|
||||||
|
msgstr "Dálkové ovládání #2"
|
||||||
|
|
||||||
|
#. type: Resume-text
|
||||||
|
#: ../scene.txt:2
|
||||||
|
#, no-wrap
|
||||||
|
msgid "Remote control a robot using an information exchange post, so it will pass over the 6 blue waypoints."
|
||||||
|
msgstr "Ovládejte robota na dálku prostřednictvím komunikační stanice, aby projel přes 6 modrých kontrolních bodů."
|
||||||
|
|
||||||
|
#. type: ScriptName-text
|
||||||
|
#: ../scene.txt:3
|
||||||
|
#, no-wrap
|
||||||
|
msgid "remote"
|
||||||
|
msgstr "Ovladac"
|
||||||
|
|
||||||
|
#. type: \b; header
|
||||||
|
#: ../help/help.E.txt:1
|
||||||
|
#, no-wrap
|
||||||
|
msgid "Exercise"
|
||||||
|
msgstr "Cvičení"
|
||||||
|
|
||||||
|
#. type: Plain text
|
||||||
|
#: ../help/help.E.txt:2
|
||||||
|
#, no-wrap
|
||||||
|
msgid ""
|
||||||
|
"Remote control a robot using an <a object|exchange>information exchange post</a>, so it will pass over the 6 blue waypoints.\n"
|
||||||
|
"The main actors of this exercise are:"
|
||||||
|
msgstr ""
|
||||||
|
"Ovládejte robota na dálku prostřednictvím <a object|exchange>komunikační stanice</a>, aby projel přes 6 modrých kontrolních bodů.\n"
|
||||||
|
"Hlavní role v tomto cvičení hrají:"
|
||||||
|
|
||||||
|
#. type: Bullet: '1)'
|
||||||
|
#: ../help/help.E.txt:5
|
||||||
|
#, no-wrap
|
||||||
|
msgid "A <a object|botgr>wheeled grabber</a> robot without an energy cell. This is the master you have to program."
|
||||||
|
msgstr "<a object|botgr>Pojízdné rameno</a> bez baterie. To je velitel, kterého budete programovat."
|
||||||
|
|
||||||
|
#. type: Bullet: '2)'
|
||||||
|
#: ../help/help.E.txt:6
|
||||||
|
#, no-wrap
|
||||||
|
msgid "An <a object|exchange>information exchange post</a> that receives information from the master and then transmits it to the slave."
|
||||||
|
msgstr "<a object|exchange>Komunikační stanice</a>, která přijme informace od odesílatele a pošle je příjemci."
|
||||||
|
|
||||||
|
#. type: Bullet: '3)'
|
||||||
|
#: ../help/help.E.txt:7
|
||||||
|
#, no-wrap
|
||||||
|
msgid "A <a object|bottr>practice bot</a> which waits for orders from the exchange post. This robot has already been programmed."
|
||||||
|
msgstr "<a object|bottr>Cvičný robot</a>, který čeká na povely od komunikační stanice. Tento robot už je naprogramovaný."
|
||||||
|
|
||||||
|
#. type: Image filename
|
||||||
|
#: ../help/help.E.txt:9
|
||||||
|
#, no-wrap
|
||||||
|
msgid "tremot2a"
|
||||||
|
msgstr "tremot2a_cs"
|
||||||
|
|
||||||
|
#. type: Plain text
|
||||||
|
#: ../help/help.E.txt:10
|
||||||
|
#, no-wrap
|
||||||
|
msgid "An information exchange post stores \"name/value\" couples. To control the \"slave\" robot we use two couples:"
|
||||||
|
msgstr "Do komunikační stanice lze ukládat informace v podobě dvojice \"název-hodnota\". K ovládání \"dělníka\" budeme potřebovat dvě takové dvojice:"
|
||||||
|
|
||||||
|
#. type: Bullet: '1)'
|
||||||
|
#: ../help/help.E.txt:12
|
||||||
|
#, no-wrap
|
||||||
|
msgid "name=\"order\", value=order number"
|
||||||
|
msgstr "název=\"order\", hodnota=číslo povelu"
|
||||||
|
|
||||||
|
#. type: Bullet: '2)'
|
||||||
|
#: ../help/help.E.txt:13
|
||||||
|
#, no-wrap
|
||||||
|
msgid "nom=\"param\", valuer=parameter for the operation"
|
||||||
|
msgstr "název=\"param\", hodnota=parametr pro daný povel"
|
||||||
|
|
||||||
|
#. type: Plain text
|
||||||
|
#: ../help/help.E.txt:15
|
||||||
|
#, no-wrap
|
||||||
|
msgid ""
|
||||||
|
"Order #1 means \"move\" and order #2 means \"turn\". The parameter is the distance to move or the turning angle. For example to make the slave move 20 meters write:\n"
|
||||||
|
"<c/><s/>\t<a cbot|send>send</a>(\"order\", 1, 100); // order \"move\""
|
||||||
|
msgstr ""
|
||||||
|
"Povel #1 znamená \"move\" a povel #2 znamená \"turn\". Parametr je pak délka jízdy v metrech nebo úhel otočení. Například aby dělník popojel o 20 metrů, napište:\n"
|
||||||
|
"<c/><s/>\t<a cbot|send>send</a>(\"order\", 1, 100); // příkaz \"move\""
|
||||||
|
|
||||||
|
#. type: Source code
|
||||||
|
#: ../help/help.E.txt:17
|
||||||
|
#, no-wrap
|
||||||
|
msgid "\t<a cbot|send>send</a>(\"param\", 20, 100); // distance 20 meters"
|
||||||
|
msgstr "\t<a cbot|send>send</a>(\"param\", 20, 100); // vzdálenost 20 metrů"
|
||||||
|
|
||||||
|
#. type: Plain text
|
||||||
|
#: ../help/help.E.txt:19
|
||||||
|
#, no-wrap
|
||||||
|
msgid ""
|
||||||
|
"These two instruction send following 2 pieces of information to the exchange post:\n"
|
||||||
|
"<c/> order=1\n"
|
||||||
|
" param=20"
|
||||||
|
msgstr ""
|
||||||
|
"Výše uvedené příkazy pošlou komunikační stanici dvě informace:\n"
|
||||||
|
"<c/> order=1\n"
|
||||||
|
" param=20"
|
||||||
|
|
||||||
|
#. type: Plain text
|
||||||
|
#: ../help/help.E.txt:23
|
||||||
|
#, no-wrap
|
||||||
|
msgid ""
|
||||||
|
"The slave robot waits for an order and executes it. Once the order has been executed by the slave, it removes the order from the exchange post. Once an order has been sent, the master must wait for the slave finishing the order before sending the next order. This is done by testing if the order is still inside the exchange post. Just write:\n"
|
||||||
|
"<c/><s/>\twhile ( <a cbot|testinfo>testinfo</a>(\"order\", 100) ) // wait for end of work"
|
||||||
|
msgstr ""
|
||||||
|
"Dělník čeká na povel, a pak ho vykoná. Po splnění povelu ho dělník z komunikační stanice vymaže. Než velitel pošle další povel, musí čekat, až dělník splní ten předchozí. Musíte tedy kontrolovat, jestli je v komunikační stanici stále nějaký povel uložený. Jednoduše napište:\n"
|
||||||
|
"<c/><s/>\twhile ( <a cbot|testinfo>testinfo</a>(\"order\", 100) ) // čekat na splnění povelu"
|
||||||
|
|
||||||
|
#. type: Source code
|
||||||
|
#: ../help/help.E.txt:25
|
||||||
|
#, no-wrap
|
||||||
|
msgid ""
|
||||||
|
"\t{\n"
|
||||||
|
"\t\twait(1);\n"
|
||||||
|
"\t}"
|
||||||
|
msgstr ""
|
||||||
|
"\t{\n"
|
||||||
|
"\t\twait(1);\n"
|
||||||
|
"\t}"
|
||||||
|
|
||||||
|
#. type: Plain text
|
||||||
|
#: ../help/help.E.txt:29
|
||||||
|
#, no-wrap
|
||||||
|
msgid ""
|
||||||
|
"As we must give more than one order its most convenient to write a <a cbot|function>function</a> <code>SendToPost</code>, that sends the order and wait for its completion:\n"
|
||||||
|
"<c/><s/>void object::SendToPost(float order, float param)"
|
||||||
|
msgstr ""
|
||||||
|
"Protože budeme posílat několik povelů za sebou, hodilo by se na to napsat <a cbot|function>funkci</a> <code>SendToPost</code>, která odešle povel a počká na jeho splnění:\n"
|
||||||
|
"<c/><s/>void object::SendToPost(float order, float param)"
|
||||||
|
|
||||||
|
#. type: Source code
|
||||||
|
#: ../help/help.E.txt:31
|
||||||
|
#, no-wrap
|
||||||
|
msgid ""
|
||||||
|
"{\n"
|
||||||
|
"\tsend(\"param\", param, 100); // send the parameter\n"
|
||||||
|
"\tsend(\"order\", order, 100); // send the order\n"
|
||||||
|
"\n"
|
||||||
|
"\twhile ( testinfo(\"order\", 100) ) // wait for end of work\n"
|
||||||
|
"\t{\n"
|
||||||
|
"\t\twait(1);\n"
|
||||||
|
"\t}\n"
|
||||||
|
"}"
|
||||||
|
msgstr ""
|
||||||
|
"{\n"
|
||||||
|
"\tsend(\"param\", param, 100); // odeslat parametr\n"
|
||||||
|
"\tsend(\"order\", order, 100); // odeslat povel\n"
|
||||||
|
"\n"
|
||||||
|
"\twhile ( testinfo(\"order\", 100) ) // čekat na splnění povelu\n"
|
||||||
|
"\t{\n"
|
||||||
|
"\t\twait(1);\n"
|
||||||
|
"\t}\n"
|
||||||
|
"}"
|
||||||
|
|
||||||
|
#. type: Plain text
|
||||||
|
#: ../help/help.E.txt:41
|
||||||
|
#, no-wrap
|
||||||
|
msgid ""
|
||||||
|
"To move forward by 20 meters, you must write in the main program:\n"
|
||||||
|
"<c/><s/>\tSendToPost(1, 20); // move(20);"
|
||||||
|
msgstr ""
|
||||||
|
"Když má pak dělník popojet o 20 metrů, napište v hlavním programu:\n"
|
||||||
|
"<c/><s/>\tSendToPost(1, 20); // move(20);"
|
||||||
|
|
||||||
|
#. type: Plain text
|
||||||
|
#: ../help/help.E.txt:44
|
||||||
|
#, no-wrap
|
||||||
|
msgid "This is the route the robot must travel through:"
|
||||||
|
msgstr "Zde je trasa, kterou musí dělník projet:"
|
||||||
|
|
||||||
|
#. type: Image filename
|
||||||
|
#: ../help/help.E.txt:46
|
||||||
|
#, no-wrap
|
||||||
|
msgid "tremot2b"
|
||||||
|
msgstr "tremot2b"
|
||||||
|
|
||||||
|
#. type: Plain text
|
||||||
|
#: ../help/help.E.txt:47
|
||||||
|
#, no-wrap
|
||||||
|
msgid "It's up to you to finish the programming."
|
||||||
|
msgstr "Dopsat zbytek programu už je na Vás."
|
||||||
|
|
||||||
|
#. type: \t; header
|
||||||
|
#: ../help/help.E.txt:49
|
||||||
|
#, no-wrap
|
||||||
|
msgid "See also"
|
||||||
|
msgstr "Užitečné odkazy"
|
||||||
|
|
||||||
|
#. type: Plain text
|
||||||
|
#: ../help/help.E.txt:50
|
||||||
|
#, no-wrap
|
||||||
|
msgid "<a cbot>Programming</a>, <a cbot|type>types</a> and <a cbot|category>categories</a>."
|
||||||
|
msgstr "<a cbot>Programování</a>, <a cbot|type>datové typy</a> a <a cbot|category>kategorie</a>."
|
|
@ -0,0 +1,358 @@
|
||||||
|
# This file is part of the Colobot: Gold Edition source code
|
||||||
|
# Copyright (C) 2001-2016, Daniel Roux, EPSITEC SA & TerranovaTeam
|
||||||
|
# This file is distributed under the same license as the Colobot package.
|
||||||
|
# next_ghost <next_ghost@quick.cz>, 2018.
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: 0.1.11\n"
|
||||||
|
"POT-Creation-Date: DATE\n"
|
||||||
|
"PO-Revision-Date: 2018-03-30 17:28+02\n"
|
||||||
|
"Last-Translator: next_ghost <next_ghost@quick.cz>\n"
|
||||||
|
"Language-Team: Czech <next_ghost@quick.cz>\n"
|
||||||
|
"Language: Czech\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Plural-Forms: nplurals=3; plural=((n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2);\n"
|
||||||
|
"X-Language: cs_CZ\n"
|
||||||
|
"X-Source-Language: en_US\n"
|
||||||
|
|
||||||
|
#. type: Title-text
|
||||||
|
#: ../scene.txt:1
|
||||||
|
#, no-wrap
|
||||||
|
msgid "Remote control #3"
|
||||||
|
msgstr "Dálkové ovládání #3"
|
||||||
|
|
||||||
|
#. type: Resume-text
|
||||||
|
#: ../scene.txt:2
|
||||||
|
#, no-wrap
|
||||||
|
msgid "Remote control a bot without using an information exchange post by using a string."
|
||||||
|
msgstr "Ovládejte robota na dálku pomocí textového řetězce bez použití komunikační stanice."
|
||||||
|
|
||||||
|
#. type: ScriptName-text
|
||||||
|
#: ../scene.txt:3
|
||||||
|
#, no-wrap
|
||||||
|
msgid "Remote3"
|
||||||
|
msgstr "Ovladac3"
|
||||||
|
|
||||||
|
#. type: \b; header
|
||||||
|
#: ../help/help.E.txt:1
|
||||||
|
#, no-wrap
|
||||||
|
msgid "Exercice"
|
||||||
|
msgstr "Cvičení"
|
||||||
|
|
||||||
|
#. type: Plain text
|
||||||
|
#: ../help/help.E.txt:2
|
||||||
|
#, no-wrap
|
||||||
|
msgid "Remote control a slave robot without using an <a object|exchange>information exchange post</a>. The robot should pass over the 6 blue crosses. You must use a <a cbot|string>string</a> to pass the orders to the slave bot. This string contains the order the slave shoud execute, for exemple <code>\"move(20)\"</code>. You can see that this is the same syntax as used in the CBOT language but we could have chosen any other syntax for exemple something like <code>\"advance=20\"</code>. The string will be a <code><a cbot|static>static</a></code> class member that will be used to communicate from the master to the slave."
|
||||||
|
msgstr "Ovládejte na dálku jiného robota bez použití <a object|exchange>komunikační stanice</a>. Robot má za úkol přejet přes 6 modrých křížků. Pro předání povelů dělníkovi musíte použít <a cbot|string>textový řetězec</a>. Tento řetězec bude obsahovat povely, které má dělník vykonat, například <code>\"move(20)\"</code>. Všimněte si, že se příkazy budou zapisovat ve stejné syntaxi jako v jazyce CBOT, ale mohli jsme zvolit i libovolný jiný formát, například něco jako <code>\"advance=20\"</code>. Velitel bude dělníkovi předávat řetězec s povely přes atribut třídy deklarovaný jako <code><a cbot|static>static</a></code>."
|
||||||
|
|
||||||
|
#. type: Bullet: '1)'
|
||||||
|
#: ../help/help.E.txt:5
|
||||||
|
#, no-wrap
|
||||||
|
msgid "The <a object|botgr>wheeled grabber</a> without an energy pack and therefore immobile. This is the master you should program so it will transmit orders to the slave."
|
||||||
|
msgstr "<a object|botgr>Pojízdné rameno</a> bez baterie, tím pádem nepojízdné. To je velitel, kterého musíte naprogramovat, aby předával povely dělníkovi."
|
||||||
|
|
||||||
|
#. type: Bullet: '2)'
|
||||||
|
#: ../help/help.E.txt:6
|
||||||
|
#, no-wrap
|
||||||
|
msgid "The slave <a object|bottr>practice bot</a> which is already programmed and just waits for orders from the master."
|
||||||
|
msgstr "<a object|bottr>Cvičný robot</a>, který už je naprogramovaný a jen čeká na povely od velitele."
|
||||||
|
|
||||||
|
#. type: \b; header
|
||||||
|
#: ../help/help.E.txt:8
|
||||||
|
#, no-wrap
|
||||||
|
msgid "The slave"
|
||||||
|
msgstr "Dělník"
|
||||||
|
|
||||||
|
#. type: Plain text
|
||||||
|
#: ../help/help.E.txt:9
|
||||||
|
#, no-wrap
|
||||||
|
msgid "First of all we must understand how the program of the slave works. The <a cbot|class>class</a> <code>exchange</code> contains the mechanism for exchaning the orders. We declare a <code><a cbot|static>static</a></code> class member <code>m_order</code> which will contain the order to be executed. The word <code>static</code> insures that the member <code>m_order</code> is shared between all instances of the <a cbot|class>class</a> exchange."
|
||||||
|
msgstr "Nejprve si musíme vysvětlit, jak funguje program dělníka. <a cbot|class>Třída</a> <code>exchange</code> poskytuje mechanismus pro předávání povelů. V ní je deklarovaný <a cbot|static>statický</a> atribut <code>m_order</code>, kam budeme povely ukládat. Klíčové slovo <code>static</code> znamená, že všechny instance <a cbot|class>třídy</a> <code>exchange</code> budou atribut <code>m_order</code> sdílet mezi sebou."
|
||||||
|
|
||||||
|
#. type: Plain text
|
||||||
|
#: ../help/help.E.txt:11
|
||||||
|
#, no-wrap
|
||||||
|
msgid "<c/><s/><a cbot|public>public</a> <a cbot|class>class</a> exchange"
|
||||||
|
msgstr "<c/><s/><a cbot|public>public</a> <a cbot|class>class</a> exchange"
|
||||||
|
|
||||||
|
#. type: Source code
|
||||||
|
#: ../help/help.E.txt:12
|
||||||
|
#, no-wrap
|
||||||
|
msgid ""
|
||||||
|
"{\n"
|
||||||
|
"\t<a cbot|static>static</a> <a cbot|private>private</a> <a cbot|string>string</a> m_order = \"\";"
|
||||||
|
msgstr ""
|
||||||
|
"{\n"
|
||||||
|
"\t<a cbot|static>static</a> <a cbot|private>private</a> <a cbot|string>string</a> m_order = \"\";"
|
||||||
|
|
||||||
|
#. type: Plain text
|
||||||
|
#: ../help/help.E.txt:15
|
||||||
|
#, no-wrap
|
||||||
|
msgid "<n/>The <code>put</code> method will be used by the master robot for transmitting an order. As long as the string <code>m_order</code> is not empty, the slave has not finished the order and the <code>put</code> method will return <code>false</code> and will do nothing."
|
||||||
|
msgstr "<n/>Velitel bude pro předání povelu volat metodu <code>put</code>. Pokud atribut <code>m_order</code> nebude prázdný, dělník ještě nedokončil předchozí příkaz, takže metoda <code>put</code> vrátí hodnotu <code>false</code> a nebude nic dělat."
|
||||||
|
|
||||||
|
#. type: Plain text
|
||||||
|
#: ../help/help.E.txt:17
|
||||||
|
#, no-wrap
|
||||||
|
msgid "<c/><s/>\t<a cbot|synchro>synchronized</a> <a cbot|bool>bool</a> put(string order)"
|
||||||
|
msgstr "<c/><s/>\t<a cbot|synchro>synchronized</a> <a cbot|bool>bool</a> put(string order)"
|
||||||
|
|
||||||
|
#. type: Source code
|
||||||
|
#: ../help/help.E.txt:18
|
||||||
|
#, no-wrap
|
||||||
|
msgid ""
|
||||||
|
"\t{\n"
|
||||||
|
"\t\tif ( m_order == \"\" )\n"
|
||||||
|
"\t\t{\n"
|
||||||
|
"\t\t\tm_order = order;\n"
|
||||||
|
"\t\t\treturn true;\n"
|
||||||
|
"\t\t}\n"
|
||||||
|
"\t\telse\n"
|
||||||
|
"\t\t{\n"
|
||||||
|
"\t\t\treturn false;\n"
|
||||||
|
"\t\t}\n"
|
||||||
|
"\t}"
|
||||||
|
msgstr ""
|
||||||
|
"\t{\n"
|
||||||
|
"\t\tif ( m_order == \"\" )\n"
|
||||||
|
"\t\t{\n"
|
||||||
|
"\t\t\tm_order = order;\n"
|
||||||
|
"\t\t\treturn true;\n"
|
||||||
|
"\t\t}\n"
|
||||||
|
"\t\telse\n"
|
||||||
|
"\t\t{\n"
|
||||||
|
"\t\t\treturn false;\n"
|
||||||
|
"\t\t}\n"
|
||||||
|
"\t}"
|
||||||
|
|
||||||
|
#. type: Plain text
|
||||||
|
#: ../help/help.E.txt:30
|
||||||
|
#, no-wrap
|
||||||
|
msgid "Another method <code>get</code> will be used by the slave to retrieve the orders. This method returns the string contained in <code>m_order</code> and empties it, so a new order can be accepted:"
|
||||||
|
msgstr "Dělník si pak povely přečte pomocí metody <code>get</code>. Tato metoda vrátí řetězec uložený v atributu <code>m_order</code> a vymaže ho, aby se do něj mohl uložit nový povel:"
|
||||||
|
|
||||||
|
#. type: Plain text
|
||||||
|
#: ../help/help.E.txt:32
|
||||||
|
#, no-wrap
|
||||||
|
msgid "<c/><s/>\t<a cbot|synchro>synchronized</a> string get()"
|
||||||
|
msgstr "<c/><s/>\t<a cbot|synchro>synchronized</a> string get()"
|
||||||
|
|
||||||
|
#. type: Source code
|
||||||
|
#: ../help/help.E.txt:33
|
||||||
|
#, no-wrap
|
||||||
|
msgid ""
|
||||||
|
"\t{\n"
|
||||||
|
"\t\tstring ret = m_order;\n"
|
||||||
|
"\t\tm_order = \"\";\n"
|
||||||
|
"\t\treturn ret;\n"
|
||||||
|
"\t}\n"
|
||||||
|
"}"
|
||||||
|
msgstr ""
|
||||||
|
"\t{\n"
|
||||||
|
"\t\tstring ret = m_order;\n"
|
||||||
|
"\t\tm_order = \"\";\n"
|
||||||
|
"\t\treturn ret;\n"
|
||||||
|
"\t}\n"
|
||||||
|
"}"
|
||||||
|
|
||||||
|
#. type: Plain text
|
||||||
|
#: ../help/help.E.txt:40
|
||||||
|
#, no-wrap
|
||||||
|
msgid "The main program of the slave contains an instance of the class <code>exchange</code> called <code>list</code>."
|
||||||
|
msgstr "Hlavní program dělníka obsahuje instanci třídy <code>exchange</code> nazvanou <code>list</code>."
|
||||||
|
|
||||||
|
#. type: Plain text
|
||||||
|
#: ../help/help.E.txt:42
|
||||||
|
#, no-wrap
|
||||||
|
msgid "<c/><s/><a cbot|extern>extern</a> void object::Slave3( )"
|
||||||
|
msgstr "<c/><s/><a cbot|extern>extern</a> void object::Slave3( )"
|
||||||
|
|
||||||
|
#. type: Source code
|
||||||
|
#: ../help/help.E.txt:43
|
||||||
|
#, no-wrap
|
||||||
|
msgid ""
|
||||||
|
"{\n"
|
||||||
|
"\texchange list();\n"
|
||||||
|
"\tstring todo;"
|
||||||
|
msgstr ""
|
||||||
|
"{\n"
|
||||||
|
"\texchange list();\n"
|
||||||
|
"\tstring todo;"
|
||||||
|
|
||||||
|
#. type: Plain text
|
||||||
|
#: ../help/help.E.txt:47
|
||||||
|
#, no-wrap
|
||||||
|
msgid "The outer <code>while</code> loop lasts for ever. The inner <code>while</code> loop waits for an order by using the <code>get</code> method of the <code>exchange</code> class. As soon as <code>get</code> returns a non empty string, the while loop stops."
|
||||||
|
msgstr "Vnější cyklus <code>while</code> se opakuje donekonečna. Vnitřní cyklus <code>while</code> čeká na povel a stále volá metodu <code>get</code> třídy <code>exchange</code>. Když metoda <code>get</code> vrátí neprázdný řetězec, vnitřní cyklus skončí."
|
||||||
|
|
||||||
|
#. type: Plain text
|
||||||
|
#: ../help/help.E.txt:49
|
||||||
|
#, no-wrap
|
||||||
|
msgid "<c/><s/>\t<a cbot|while>while</a> ( true )"
|
||||||
|
msgstr "<c/><s/>\t<a cbot|while>while</a> ( true )"
|
||||||
|
|
||||||
|
#. type: Source code
|
||||||
|
#: ../help/help.E.txt:50
|
||||||
|
#, no-wrap
|
||||||
|
msgid ""
|
||||||
|
"\t{\n"
|
||||||
|
"\t\t<a cbot|while>while</a> ( true )\n"
|
||||||
|
"\t\t{\n"
|
||||||
|
"\t\t\ttodo = list.get();\n"
|
||||||
|
"\t\t\tif ( todo != \"\" ) break;\n"
|
||||||
|
"\t\t\twait(1);\n"
|
||||||
|
"\t\t}"
|
||||||
|
msgstr ""
|
||||||
|
"\t{\n"
|
||||||
|
"\t\t<a cbot|while>while</a> ( true )\n"
|
||||||
|
"\t\t{\n"
|
||||||
|
"\t\t\ttodo = list.get();\n"
|
||||||
|
"\t\t\tif ( todo != \"\" ) break;\n"
|
||||||
|
"\t\t\twait(1);\n"
|
||||||
|
"\t\t}"
|
||||||
|
|
||||||
|
#. type: Plain text
|
||||||
|
#: ../help/help.E.txt:58
|
||||||
|
#, no-wrap
|
||||||
|
msgid "Now we have received the order in the <code>todo</code> variable. All we have to do is execute it:"
|
||||||
|
msgstr "Když máme povel uložený v proměnné <code>todo</code>, zbývá ho jen provést:"
|
||||||
|
|
||||||
|
#. type: Plain text
|
||||||
|
#: ../help/help.E.txt:60
|
||||||
|
#, no-wrap
|
||||||
|
msgid "<c/><s/>\t\tif ( <a cbot|strfind>strfind</a>(todo, \"move\") == 0 )"
|
||||||
|
msgstr "<c/><s/>\t\tif ( <a cbot|strfind>strfind</a>(todo, \"move\") == 0 )"
|
||||||
|
|
||||||
|
#. type: Source code
|
||||||
|
#: ../help/help.E.txt:61
|
||||||
|
#, no-wrap
|
||||||
|
msgid ""
|
||||||
|
"\t\t{\n"
|
||||||
|
"\t\t\tmove(<a cbot|strval>strval</a>(<a cbot|strmid>strmid</a>(todo,5)));\n"
|
||||||
|
"\t\t}\n"
|
||||||
|
"\t\tif ( strfind(todo, \"turn\") == 0 )\n"
|
||||||
|
"\t\t{\n"
|
||||||
|
"\t\t\tturn(strval(strmid(todo,5)));\n"
|
||||||
|
"\t\t}\n"
|
||||||
|
"\t}\n"
|
||||||
|
"}"
|
||||||
|
msgstr ""
|
||||||
|
"\t\t{\n"
|
||||||
|
"\t\t\tmove(<a cbot|strval>strval</a>(<a cbot|strmid>strmid</a>(todo,5)));\n"
|
||||||
|
"\t\t}\n"
|
||||||
|
"\t\tif ( strfind(todo, \"turn\") == 0 )\n"
|
||||||
|
"\t\t{\n"
|
||||||
|
"\t\t\tturn(strval(strmid(todo,5)));\n"
|
||||||
|
"\t\t}\n"
|
||||||
|
"\t}\n"
|
||||||
|
"}"
|
||||||
|
|
||||||
|
#. type: \b; header
|
||||||
|
#: ../help/help.E.txt:71
|
||||||
|
#, no-wrap
|
||||||
|
msgid "The master"
|
||||||
|
msgstr "Velitel"
|
||||||
|
|
||||||
|
#. type: Plain text
|
||||||
|
#: ../help/help.E.txt:72
|
||||||
|
#, no-wrap
|
||||||
|
msgid "In the master we write an function called <code>SendOrder</code> which will send an order to the slave:"
|
||||||
|
msgstr "Pro velitele napíšeme funkci <code>SendOrder</code>, která pošle povel dělníkovi:"
|
||||||
|
|
||||||
|
#. type: Plain text
|
||||||
|
#: ../help/help.E.txt:74
|
||||||
|
#, no-wrap
|
||||||
|
msgid "<c/><s/>void object::SendOrder(string order)"
|
||||||
|
msgstr "<c/><s/>void object::SendOrder(string order)"
|
||||||
|
|
||||||
|
#. type: Source code
|
||||||
|
#: ../help/help.E.txt:75
|
||||||
|
#, no-wrap
|
||||||
|
msgid ""
|
||||||
|
"{\n"
|
||||||
|
"\texchange list();\n"
|
||||||
|
"\t\n"
|
||||||
|
"\twhile ( list.put(order) == false )\n"
|
||||||
|
"\t{\n"
|
||||||
|
"\t\twait(1);\n"
|
||||||
|
"\t}\n"
|
||||||
|
"}"
|
||||||
|
msgstr ""
|
||||||
|
"{\n"
|
||||||
|
"\texchange list();\n"
|
||||||
|
"\t\n"
|
||||||
|
"\twhile ( list.put(order) == false )\n"
|
||||||
|
"\t{\n"
|
||||||
|
"\t\twait(1);\n"
|
||||||
|
"\t}\n"
|
||||||
|
"}"
|
||||||
|
|
||||||
|
#. type: Plain text
|
||||||
|
#: ../help/help.E.txt:84
|
||||||
|
#, no-wrap
|
||||||
|
msgid ""
|
||||||
|
"The <code>while</code> loop waits until a pending order has been terminated, that is the slaved has exited from the <code>get</code> method.\n"
|
||||||
|
"Now the main program of the master is very simple:"
|
||||||
|
msgstr ""
|
||||||
|
"Cyklus <code>while</code> bude čekat na přijetí předchozího povelu, tedy dokud dělník nedokončí volání metody <code>get</code>.\n"
|
||||||
|
"Dál už bude hlavní program velitele celkem jednoduchý:"
|
||||||
|
|
||||||
|
#. type: Plain text
|
||||||
|
#: ../help/help.E.txt:87
|
||||||
|
#, no-wrap
|
||||||
|
msgid "<c/><s/>extern void object::Remote3( )"
|
||||||
|
msgstr "<c/><s/>extern void object::Ovladac3( )"
|
||||||
|
|
||||||
|
#. type: Source code
|
||||||
|
#: ../help/help.E.txt:88
|
||||||
|
#, no-wrap
|
||||||
|
msgid ""
|
||||||
|
"{\n"
|
||||||
|
"\tSendOrder(\"move(20)\");\n"
|
||||||
|
"\tSendOrder(\"turn(90)\");\n"
|
||||||
|
"\tSendOrder(\"move(20)\");\n"
|
||||||
|
"\tSendOrder(\"turn(90)\");\n"
|
||||||
|
"\tSendOrder(\"move(10)\");\n"
|
||||||
|
"\tSendOrder(\"turn(90)\");\n"
|
||||||
|
"\tSendOrder(\"move(10)\");\n"
|
||||||
|
"\tSendOrder(\"turn(-90)\");\n"
|
||||||
|
"\tSendOrder(\"move(10)\");\n"
|
||||||
|
"}"
|
||||||
|
msgstr ""
|
||||||
|
"{\n"
|
||||||
|
"\tSendOrder(\"move(20)\");\n"
|
||||||
|
"\tSendOrder(\"turn(90)\");\n"
|
||||||
|
"\tSendOrder(\"move(20)\");\n"
|
||||||
|
"\tSendOrder(\"turn(90)\");\n"
|
||||||
|
"\tSendOrder(\"move(10)\");\n"
|
||||||
|
"\tSendOrder(\"turn(90)\");\n"
|
||||||
|
"\tSendOrder(\"move(10)\");\n"
|
||||||
|
"\tSendOrder(\"turn(-90)\");\n"
|
||||||
|
"\tSendOrder(\"move(10)\");\n"
|
||||||
|
"}"
|
||||||
|
|
||||||
|
#. type: Plain text
|
||||||
|
#: ../help/help.E.txt:100
|
||||||
|
#, no-wrap
|
||||||
|
msgid "<format key><key help/></format> show these instruction at any time."
|
||||||
|
msgstr "Tyto instrukce si můžete kdykoliv znovu přečíst klávesou <format key><key help/></format>."
|
||||||
|
|
||||||
|
#. type: \t; header
|
||||||
|
#: ../help/help.E.txt:102
|
||||||
|
#, no-wrap
|
||||||
|
msgid "See also"
|
||||||
|
msgstr "Užitečné odkazy"
|
||||||
|
|
||||||
|
#. type: Plain text
|
||||||
|
#: ../help/help.E.txt:103
|
||||||
|
#, no-wrap
|
||||||
|
msgid "<a command>Controls</a> and <a cbot>programming</a>."
|
||||||
|
msgstr "<a command>Ovládání</a> a <a cbot>programování</a>."
|
||||||
|
|
||||||
|
#. type: Plain text
|
||||||
|
#: ../help/help.E.txt:4
|
||||||
|
#, no-wrap
|
||||||
|
msgid "The two main actors of this exercise are:"
|
||||||
|
msgstr "Hlavní role v tomto cvičení hrají:"
|
|
@ -0,0 +1,438 @@
|
||||||
|
# This file is part of the Colobot: Gold Edition source code
|
||||||
|
# Copyright (C) 2001-2016, Daniel Roux, EPSITEC SA & TerranovaTeam
|
||||||
|
# This file is distributed under the same license as the Colobot package.
|
||||||
|
# next_ghost <next_ghost@quick.cz>, 2018.
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: 0.1.11\n"
|
||||||
|
"POT-Creation-Date: DATE\n"
|
||||||
|
"PO-Revision-Date: 2018-03-31 13:39+02\n"
|
||||||
|
"Last-Translator: next_ghost <next_ghost@quick.cz>\n"
|
||||||
|
"Language-Team: Czech <next_ghost@quick.cz>\n"
|
||||||
|
"Language: Czech\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Plural-Forms: nplurals=3; plural=((n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2);\n"
|
||||||
|
"X-Language: cs_CZ\n"
|
||||||
|
"X-Source-Language: en_US\n"
|
||||||
|
|
||||||
|
#. type: Title-text
|
||||||
|
#: ../scene.txt:1
|
||||||
|
#, no-wrap
|
||||||
|
msgid "Remote control #4"
|
||||||
|
msgstr "Dálkové ovládání #4"
|
||||||
|
|
||||||
|
#. type: Resume-text
|
||||||
|
#: ../scene.txt:2
|
||||||
|
#, no-wrap
|
||||||
|
msgid "Remote control a bot without using an information exchange post by defining a class for the orders."
|
||||||
|
msgstr "Ovládejte robota na dálku bez použití komunikační stanice. Pro předání povelů definujte třídu."
|
||||||
|
|
||||||
|
#. type: ScriptName-text
|
||||||
|
#: ../scene.txt:3
|
||||||
|
#, no-wrap
|
||||||
|
msgid "Remote4"
|
||||||
|
msgstr "Ovladac4"
|
||||||
|
|
||||||
|
#. type: \b; header
|
||||||
|
#: ../help/help.E.txt:1
|
||||||
|
#, no-wrap
|
||||||
|
msgid "Exercise"
|
||||||
|
msgstr "Cvičení"
|
||||||
|
|
||||||
|
#. type: Plain text
|
||||||
|
#: ../help/help.E.txt:2
|
||||||
|
#, no-wrap
|
||||||
|
msgid "Remote control a slave robot without using an <a object|exchange>information exchange post</a>. The robot should pass over the 6 blue crosses. You must use a <code><a cbot|static>static</a></code> variable to pass the orders to the slave bot."
|
||||||
|
msgstr "Ovládejte na dálku jiného robota bez použití <a object|exchange>komunikační stanice</a>. Robot má za úkol přejet přes 6 modrých křížků. Pro předání povelů dělníkovi musíte použít proměnnou deklarovanou jako <code>static</code>."
|
||||||
|
|
||||||
|
#. type: Bullet: '1)'
|
||||||
|
#: ../help/help.E.txt:5
|
||||||
|
#, no-wrap
|
||||||
|
msgid "The <a object|botgr>wheeled grabber</a> without an energy pack and therefore immobile. This is the master you should program so it will transmit orders to the slave."
|
||||||
|
msgstr "<a object|botgr>Pojízdné rameno</a> bez baterie, tím pádem nepojízdné. To je velitel, kterého musíte naprogramovat, aby předával povely dělníkovi."
|
||||||
|
|
||||||
|
#. type: Bullet: '2)'
|
||||||
|
#: ../help/help.E.txt:6
|
||||||
|
#, no-wrap
|
||||||
|
msgid "The slave <a object|bottr>practice bot</a> which is already programmed and just waits for orders from the master."
|
||||||
|
msgstr "<a object|bottr>Cvičný robot</a>, který už je naprogramovaný a jen čeká na povely od velitele."
|
||||||
|
|
||||||
|
#. type: \b; header
|
||||||
|
#: ../help/help.E.txt:8
|
||||||
|
#, no-wrap
|
||||||
|
msgid "The slave"
|
||||||
|
msgstr "Dělník"
|
||||||
|
|
||||||
|
#. type: Plain text
|
||||||
|
#: ../help/help.E.txt:9
|
||||||
|
#, no-wrap
|
||||||
|
msgid "First of all we must understand how the program of the slave works. The <a cbot|class>class</a> <code>order</code> contains two members: <code>m_type</code> is the order to execute (move or turn) and <code>m_param</code> is the distance to move or the rotation angle:"
|
||||||
|
msgstr "Nejprve si musíme vysvětlit, jak funguje program dělníka. <a cbot|class>Třída</a> <code>order</code> obsahuje dva atributy: <code>m_type</code> určuje příkaz, který se má provést (<code>move</code> nebo <code>turn</code>) a <code>m_param</code> určuje délku jízdy nebo úhel otočení:"
|
||||||
|
|
||||||
|
#. type: Plain text
|
||||||
|
#: ../help/help.E.txt:11
|
||||||
|
#, no-wrap
|
||||||
|
msgid "<c/><s/><a cbot|public>public</a> <a cbot|class>class</a> order"
|
||||||
|
msgstr "<c/><s/><a cbot|public>public</a> <a cbot|class>class</a> order"
|
||||||
|
|
||||||
|
#. type: Source code
|
||||||
|
#: ../help/help.E.txt:12
|
||||||
|
#, no-wrap
|
||||||
|
msgid ""
|
||||||
|
"{\n"
|
||||||
|
"\t<a cbot|int>int</a> m_type = <a cbot|nan>nan</a>;\n"
|
||||||
|
"\t<a cbot|float>float</a> m_param;\n"
|
||||||
|
"}"
|
||||||
|
msgstr ""
|
||||||
|
"{\n"
|
||||||
|
"\t<a cbot|int>int</a> m_type = <a cbot|nan>nan</a>;\n"
|
||||||
|
"\t<a cbot|float>float</a> m_param;\n"
|
||||||
|
"}"
|
||||||
|
|
||||||
|
#. type: Plain text
|
||||||
|
#: ../help/help.E.txt:17
|
||||||
|
#, no-wrap
|
||||||
|
msgid "A second <a cbot|class>class</a> <code>exchange</code> contains the mechanism for exchanging the orders. We declare a <code><a cbot|static>static</a></code> class member <code>m_order</code> which will contain the order to be executed. The word <code>static</code> insures that the member <code>m_order</code> is shared between all instances of the <a cbot|class>class</a> exchange."
|
||||||
|
msgstr "Další <a cbot|class>třída</a> <code>exchange</code> poskytuje mechanismus pro předávání povelů. V ní je deklarovaný <a cbot|static>statický</a> atribut <code>m_order</code>, kam budeme povely ukládat. Klíčové slovo <code>static</code> znamená, že všechny instance <a cbot|class>třídy</a> <code>exchange</code> budou atribut <code>m_order</code> sdílet mezi sebou."
|
||||||
|
|
||||||
|
#. type: Plain text
|
||||||
|
#: ../help/help.E.txt:19
|
||||||
|
#, no-wrap
|
||||||
|
msgid "<c/><s/><a cbot|public>public</a> <a cbot|class>class</a> exchange"
|
||||||
|
msgstr "<c/><s/><a cbot|public>public</a> <a cbot|class>class</a> exchange"
|
||||||
|
|
||||||
|
#. type: Source code
|
||||||
|
#: ../help/help.E.txt:20
|
||||||
|
#, no-wrap
|
||||||
|
msgid ""
|
||||||
|
"{\n"
|
||||||
|
"\t<a cbot|static>static</a> <a cbot|private>private</a> order m_order = new order;"
|
||||||
|
msgstr ""
|
||||||
|
"{\n"
|
||||||
|
"\t<a cbot|static>static</a> <a cbot|private>private</a> order m_order = new order;"
|
||||||
|
|
||||||
|
#. type: Plain text
|
||||||
|
#: ../help/help.E.txt:23
|
||||||
|
#, no-wrap
|
||||||
|
msgid "<n/>The <code>put</code> method will be used by the master robot for transmitting an order. As long as <code>m_order</code> is different from <code><a cbot|nan>nan</a></code>, the slave has not finished the order and the <code>put</code> method will return <code>false</code> and will do nothing:"
|
||||||
|
msgstr "<n/>Velitel bude pro předání povelu volat metodu <code>put</code>. Pokud atribut <code>m_order</code> neobsahuje hodnotu <code><a cbot|nan>nan</a></code>, dělník ještě nedokončil předchozí příkaz, takže metoda <code>put</code> vrátí hodnotu <code>false</code> a nebude nic dělat:"
|
||||||
|
|
||||||
|
#. type: Plain text
|
||||||
|
#: ../help/help.E.txt:25
|
||||||
|
#, no-wrap
|
||||||
|
msgid "<c/><s/>\t<a cbot|synchro>synchronized</a> <a cbot|bool>bool</a> put(order a)"
|
||||||
|
msgstr "<c/><s/>\t<a cbot|synchro>synchronized</a> <a cbot|bool>bool</a> put(order a)"
|
||||||
|
|
||||||
|
#. type: Source code
|
||||||
|
#: ../help/help.E.txt:26
|
||||||
|
#, no-wrap
|
||||||
|
msgid ""
|
||||||
|
"\t{\n"
|
||||||
|
"\t\tif ( m_order.m_type == nan )\n"
|
||||||
|
"\t\t{\n"
|
||||||
|
"\t\t\tm_order = a;\n"
|
||||||
|
"\t\t\treturn true;\n"
|
||||||
|
"\t\t}\n"
|
||||||
|
"\t\telse\n"
|
||||||
|
"\t\t{\n"
|
||||||
|
"\t\t\treturn false;\n"
|
||||||
|
"\t\t}\n"
|
||||||
|
"\t}"
|
||||||
|
msgstr ""
|
||||||
|
"\t{\n"
|
||||||
|
"\t\tif ( m_order.m_type == nan )\n"
|
||||||
|
"\t\t{\n"
|
||||||
|
"\t\t\tm_order = a;\n"
|
||||||
|
"\t\t\treturn true;\n"
|
||||||
|
"\t\t}\n"
|
||||||
|
"\t\telse\n"
|
||||||
|
"\t\t{\n"
|
||||||
|
"\t\t\treturn false;\n"
|
||||||
|
"\t\t}\n"
|
||||||
|
"\t}"
|
||||||
|
|
||||||
|
#. type: Plain text
|
||||||
|
#: ../help/help.E.txt:38
|
||||||
|
#, no-wrap
|
||||||
|
msgid "Another method <code>get</code> will be used by the slave to retrieve the orders. This method returns the order to be executed:"
|
||||||
|
msgstr "Dělník si pak povely přečte pomocí metody <code>get</code>. Tato metoda vrátí povel, který se má provést:"
|
||||||
|
|
||||||
|
#. type: Plain text
|
||||||
|
#: ../help/help.E.txt:40
|
||||||
|
#, no-wrap
|
||||||
|
msgid "<c/><s/>\t<a cbot|synchro>synchronized</a> order get()"
|
||||||
|
msgstr "<c/><s/>\t<a cbot|synchro>synchronized</a> order get()"
|
||||||
|
|
||||||
|
#. type: Source code
|
||||||
|
#: ../help/help.E.txt:41
|
||||||
|
#, no-wrap
|
||||||
|
msgid ""
|
||||||
|
"\t{\n"
|
||||||
|
"\t\treturn m_order;\n"
|
||||||
|
"\t}"
|
||||||
|
msgstr ""
|
||||||
|
"\t{\n"
|
||||||
|
"\t\treturn m_order;\n"
|
||||||
|
"\t}"
|
||||||
|
|
||||||
|
#. type: Plain text
|
||||||
|
#: ../help/help.E.txt:45
|
||||||
|
#, no-wrap
|
||||||
|
msgid "A third method <code>delete</code> will be used by the slave to indicate that the order has been executed:"
|
||||||
|
msgstr "Dělník nakonec oznámí splnění povelu metodou <code>delete</code>:"
|
||||||
|
|
||||||
|
#. type: Plain text
|
||||||
|
#: ../help/help.E.txt:47
|
||||||
|
#, no-wrap
|
||||||
|
msgid "<c/><s/>\t<a cbot|synchro>synchronized</a> void delete()"
|
||||||
|
msgstr "<c/><s/>\t<a cbot|synchro>synchronized</a> void delete()"
|
||||||
|
|
||||||
|
#. type: Source code
|
||||||
|
#: ../help/help.E.txt:48
|
||||||
|
#, no-wrap
|
||||||
|
msgid ""
|
||||||
|
"\t{\n"
|
||||||
|
"\t\tm_order.m_type = nan;\n"
|
||||||
|
"\t}\n"
|
||||||
|
"}"
|
||||||
|
msgstr ""
|
||||||
|
"\t{\n"
|
||||||
|
"\t\tm_order.m_type = nan;\n"
|
||||||
|
"\t}\n"
|
||||||
|
"}"
|
||||||
|
|
||||||
|
#. type: Plain text
|
||||||
|
#: ../help/help.E.txt:53
|
||||||
|
#, no-wrap
|
||||||
|
msgid "The main program of the slave contains an instance of the class <code>exchange</code> called <code>list</code>. We put () after the word <code>list</code> in order to create an instance of the class <code>exchange</code>."
|
||||||
|
msgstr "Hlavní program dělníka obsahuje instanci třídy <code>exchange</code> nazvanou <code>list</code>. Závorky za slovem <code>list</code> znamenají, že vytváříme instanci třídy <code>exchange</code>."
|
||||||
|
|
||||||
|
#. type: Plain text
|
||||||
|
#: ../help/help.E.txt:55
|
||||||
|
#, no-wrap
|
||||||
|
msgid "<c/><s/><a cbot|extern>extern</a> void object::Slave3( )"
|
||||||
|
msgstr "<c/><s/><a cbot|extern>extern</a> void object::Slave3( )"
|
||||||
|
|
||||||
|
#. type: Source code
|
||||||
|
#: ../help/help.E.txt:56
|
||||||
|
#, no-wrap
|
||||||
|
msgid ""
|
||||||
|
"{\n"
|
||||||
|
"\texchange list();\n"
|
||||||
|
"\torder todo;"
|
||||||
|
msgstr ""
|
||||||
|
"{\n"
|
||||||
|
"\texchange list();\n"
|
||||||
|
"\torder todo;"
|
||||||
|
|
||||||
|
#. type: Plain text
|
||||||
|
#: ../help/help.E.txt:60
|
||||||
|
#, no-wrap
|
||||||
|
msgid "The outer <code>while</code> loop lasts for ever. The inner <code>while</code> loop waits for an order by using the <code>get</code> method of the <code>exchange</code> class. As soon as <code>get</code> returns a value different from <code>nan</code>, the while loop stops."
|
||||||
|
msgstr "Vnější cyklus <code>while</code> se opakuje donekonečna. Vnitřní cyklus <code>while</code> čeká na povel a stále volá metodu <code>get</code> třídy <code>exchange</code>. Když metoda <code>get</code> vrátí jinou hodnotu než <code>nan</code>, vnitřní cyklus skončí."
|
||||||
|
|
||||||
|
#. type: Plain text
|
||||||
|
#: ../help/help.E.txt:62
|
||||||
|
#, no-wrap
|
||||||
|
msgid "<c/><s/>\t<a cbot|while>while</a> ( true )"
|
||||||
|
msgstr "<c/><s/>\t<a cbot|while>while</a> ( true )"
|
||||||
|
|
||||||
|
#. type: Source code
|
||||||
|
#: ../help/help.E.txt:63
|
||||||
|
#, no-wrap
|
||||||
|
msgid ""
|
||||||
|
"\t{\n"
|
||||||
|
"\t\t<a cbot|while>while</a> ( true )\n"
|
||||||
|
"\t\t{\n"
|
||||||
|
"\t\t\ttodo = list.get();\n"
|
||||||
|
"\t\t\tif ( todo.m_type != nan ) break;\n"
|
||||||
|
"\t\t\twait(1);\n"
|
||||||
|
"\t\t}"
|
||||||
|
msgstr ""
|
||||||
|
"\t{\n"
|
||||||
|
"\t\t<a cbot|while>while</a> ( true )\n"
|
||||||
|
"\t\t{\n"
|
||||||
|
"\t\t\ttodo = list.get();\n"
|
||||||
|
"\t\t\tif ( todo.m_type != nan ) break;\n"
|
||||||
|
"\t\t\twait(1);\n"
|
||||||
|
"\t\t}"
|
||||||
|
|
||||||
|
#. type: Plain text
|
||||||
|
#: ../help/help.E.txt:71
|
||||||
|
#, no-wrap
|
||||||
|
msgid "Now we have received the order in the <code>todo</code> variable. All we have to do is execute it:"
|
||||||
|
msgstr "Když máme povel uložený v proměnné <code>todo</code>, zbývá ho jen provést:"
|
||||||
|
|
||||||
|
#. type: Plain text
|
||||||
|
#: ../help/help.E.txt:73
|
||||||
|
#, no-wrap
|
||||||
|
msgid "<c/><s/>\t\tif ( todo.m_type == 1 )"
|
||||||
|
msgstr "<c/><s/>\t\tif ( todo.m_type == 1 )"
|
||||||
|
|
||||||
|
#. type: Source code
|
||||||
|
#: ../help/help.E.txt:74
|
||||||
|
#, no-wrap
|
||||||
|
msgid ""
|
||||||
|
"\t\t{\n"
|
||||||
|
"\t\t\tmove(todo.m_param);\n"
|
||||||
|
"\t\t}\n"
|
||||||
|
"\t\telse if ( todo.m_type == 2 )\n"
|
||||||
|
"\t\t{\n"
|
||||||
|
"\t\t\tturn(todo.m_param);\n"
|
||||||
|
"\t\t}\n"
|
||||||
|
"\t\telse\n"
|
||||||
|
"\t\t{\n"
|
||||||
|
"\t\t\tmessage(\"Unknown order\");\n"
|
||||||
|
"\t\t}"
|
||||||
|
msgstr ""
|
||||||
|
"\t\t{\n"
|
||||||
|
"\t\t\tmove(todo.m_param);\n"
|
||||||
|
"\t\t}\n"
|
||||||
|
"\t\telse if ( todo.m_type == 2 )\n"
|
||||||
|
"\t\t{\n"
|
||||||
|
"\t\t\tturn(todo.m_param);\n"
|
||||||
|
"\t\t}\n"
|
||||||
|
"\t\telse\n"
|
||||||
|
"\t\t{\n"
|
||||||
|
"\t\t\tmessage(\"Unknown order\");\n"
|
||||||
|
"\t\t}"
|
||||||
|
|
||||||
|
#. type: Plain text
|
||||||
|
#: ../help/help.E.txt:86
|
||||||
|
#, no-wrap
|
||||||
|
msgid "As soon as the execution of the order is finished, we must call the <code>delete</code> method so the master knows that another order can be sent:"
|
||||||
|
msgstr "Po splnění povelu ještě musíme zavolat metodu <code>delete</code>, aby velitel věděl, že může poslat další povel:"
|
||||||
|
|
||||||
|
#. type: Plain text
|
||||||
|
#: ../help/help.E.txt:88
|
||||||
|
#, no-wrap
|
||||||
|
msgid "<c/><s/>\t\tlist.delete();"
|
||||||
|
msgstr "<c/><s/>\t\tlist.delete();"
|
||||||
|
|
||||||
|
#. type: Source code
|
||||||
|
#: ../help/help.E.txt:89
|
||||||
|
#, no-wrap
|
||||||
|
msgid ""
|
||||||
|
"\t}\n"
|
||||||
|
"}"
|
||||||
|
msgstr ""
|
||||||
|
"\t}\n"
|
||||||
|
"}"
|
||||||
|
|
||||||
|
#. type: \b; header
|
||||||
|
#: ../help/help.E.txt:92
|
||||||
|
#, no-wrap
|
||||||
|
msgid "The master"
|
||||||
|
msgstr "Velitel"
|
||||||
|
|
||||||
|
#. type: Plain text
|
||||||
|
#: ../help/help.E.txt:93
|
||||||
|
#, no-wrap
|
||||||
|
msgid "In the master we write an function called <code>SendOrder</code> which will send an order to the slave:"
|
||||||
|
msgstr "Pro velitele napíšeme funkci <code>SendOrder</code>, která pošle povel dělníkovi:"
|
||||||
|
|
||||||
|
#. type: Plain text
|
||||||
|
#: ../help/help.E.txt:95
|
||||||
|
#, no-wrap
|
||||||
|
msgid "<c/><s/>void object::SendOrder(float order, float param)"
|
||||||
|
msgstr "<c/><s/>void object::SendOrder(float order, float param)"
|
||||||
|
|
||||||
|
#. type: Source code
|
||||||
|
#: ../help/help.E.txt:96
|
||||||
|
#, no-wrap
|
||||||
|
msgid ""
|
||||||
|
"{\n"
|
||||||
|
"\texchange list();\n"
|
||||||
|
"\torder todo();\n"
|
||||||
|
"\t\n"
|
||||||
|
"\ttodo.m_type = order;\n"
|
||||||
|
"\ttodo.m_param = param;\n"
|
||||||
|
"\t\n"
|
||||||
|
"\twhile ( list.put(todo) == false )\n"
|
||||||
|
"\t{\n"
|
||||||
|
"\t\twait(1);\n"
|
||||||
|
"\t}\n"
|
||||||
|
"}"
|
||||||
|
msgstr ""
|
||||||
|
"{\n"
|
||||||
|
"\texchange list();\n"
|
||||||
|
"\torder todo();\n"
|
||||||
|
"\t\n"
|
||||||
|
"\ttodo.m_type = order;\n"
|
||||||
|
"\ttodo.m_param = param;\n"
|
||||||
|
"\t\n"
|
||||||
|
"\twhile ( list.put(todo) == false )\n"
|
||||||
|
"\t{\n"
|
||||||
|
"\t\twait(1);\n"
|
||||||
|
"\t}\n"
|
||||||
|
"}"
|
||||||
|
|
||||||
|
#. type: Plain text
|
||||||
|
#: ../help/help.E.txt:109
|
||||||
|
#, no-wrap
|
||||||
|
msgid ""
|
||||||
|
"The <code>while</code> loop waits until a pending order has been terminated, that is the slaved has exited from the <code>get</code> method and the <code>delete</code> method has been called.\n"
|
||||||
|
"Now the main program of the master is very simple:"
|
||||||
|
msgstr ""
|
||||||
|
"Cyklus <code>while</code> bude čekat na přijetí předchozího povelu, tedy dokud dělník nedokončí volání metody <code>get</code> a následně nezavolá metodu <code>delete</code>.\n"
|
||||||
|
"Dál už bude hlavní program velitele celkem jednoduchý:"
|
||||||
|
|
||||||
|
#. type: Plain text
|
||||||
|
#: ../help/help.E.txt:112
|
||||||
|
#, no-wrap
|
||||||
|
msgid "<c/><s/>extern void object::Remote4( )"
|
||||||
|
msgstr "<c/><s/>extern void object::Ovladac4( )"
|
||||||
|
|
||||||
|
#. type: Source code
|
||||||
|
#: ../help/help.E.txt:113
|
||||||
|
#, no-wrap
|
||||||
|
msgid ""
|
||||||
|
"{\n"
|
||||||
|
"\tSendOrder(1, 20); // move(20);\n"
|
||||||
|
"\tSendOrder(2, 90); // turn(90);\n"
|
||||||
|
"\tSendOrder(1, 20); // move(20);\n"
|
||||||
|
"\tSendOrder(2, 90); // turn(90);\n"
|
||||||
|
"\tSendOrder(1, 10); // move(10);\n"
|
||||||
|
"\tSendOrder(2, 90); // turn(90);\n"
|
||||||
|
"\tSendOrder(1, 10); // move(10);\n"
|
||||||
|
"\tSendOrder(2,-90); // turn(-90);\n"
|
||||||
|
"\tSendOrder(1, 10); // move(10);\n"
|
||||||
|
"}"
|
||||||
|
msgstr ""
|
||||||
|
"{\n"
|
||||||
|
"\tSendOrder(1, 20); // move(20);\n"
|
||||||
|
"\tSendOrder(2, 90); // turn(90);\n"
|
||||||
|
"\tSendOrder(1, 20); // move(20);\n"
|
||||||
|
"\tSendOrder(2, 90); // turn(90);\n"
|
||||||
|
"\tSendOrder(1, 10); // move(10);\n"
|
||||||
|
"\tSendOrder(2, 90); // turn(90);\n"
|
||||||
|
"\tSendOrder(1, 10); // move(10);\n"
|
||||||
|
"\tSendOrder(2,-90); // turn(-90);\n"
|
||||||
|
"\tSendOrder(1, 10); // move(10);\n"
|
||||||
|
"}"
|
||||||
|
|
||||||
|
#. type: Plain text
|
||||||
|
#: ../help/help.E.txt:125
|
||||||
|
#, no-wrap
|
||||||
|
msgid "<format key><key help/></format> show these instruction at any time."
|
||||||
|
msgstr "Tyto instrukce si můžete kdykoliv znovu přečíst klávesou <format key><key help/></format>."
|
||||||
|
|
||||||
|
#. type: \t; header
|
||||||
|
#: ../help/help.E.txt:128
|
||||||
|
#, no-wrap
|
||||||
|
msgid "See also"
|
||||||
|
msgstr "Užitečné odkazy"
|
||||||
|
|
||||||
|
#. type: Plain text
|
||||||
|
#: ../help/help.E.txt:129
|
||||||
|
#, no-wrap
|
||||||
|
msgid "<a command>Controls</a> and <a cbot>programming</a>."
|
||||||
|
msgstr "<a command>Ovládání</a> a <a cbot>programování</a>."
|
||||||
|
|
||||||
|
#. type: Plain text
|
||||||
|
#: ../help/help.E.txt:4
|
||||||
|
#, no-wrap
|
||||||
|
msgid "The two main actors of this exercise are:"
|
||||||
|
msgstr "Hlavní role v tomto cvičení hrají:"
|
|
@ -0,0 +1,386 @@
|
||||||
|
# This file is part of the Colobot: Gold Edition source code
|
||||||
|
# Copyright (C) 2001-2016, Daniel Roux, EPSITEC SA & TerranovaTeam
|
||||||
|
# This file is distributed under the same license as the Colobot package.
|
||||||
|
# next_ghost <next_ghost@quick.cz>, 2018.
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: 0.1.11\n"
|
||||||
|
"POT-Creation-Date: DATE\n"
|
||||||
|
"PO-Revision-Date: 2018-03-31 21:08+02\n"
|
||||||
|
"Last-Translator: next_ghost <next_ghost@quick.cz>\n"
|
||||||
|
"Language-Team: Czech <next_ghost@quick.cz>\n"
|
||||||
|
"Language: Czech\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Plural-Forms: nplurals=3; plural=((n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2);\n"
|
||||||
|
"X-Language: cs_CZ\n"
|
||||||
|
"X-Source-Language: en_US\n"
|
||||||
|
|
||||||
|
#. type: Title-text
|
||||||
|
#: ../scene.txt:1
|
||||||
|
#, no-wrap
|
||||||
|
msgid "Remote control #5"
|
||||||
|
msgstr "Dálkové ovládání #5"
|
||||||
|
|
||||||
|
#. type: Resume-text
|
||||||
|
#: ../scene.txt:2
|
||||||
|
#, no-wrap
|
||||||
|
msgid "Remote control a bot without using an information exchange post by storing the orders."
|
||||||
|
msgstr "Ovládejte robota na dálku bez použití komunikační stanice. Jednotlivé povely zařaďte do fronty."
|
||||||
|
|
||||||
|
#. type: ScriptName-text
|
||||||
|
#: ../scene.txt:3
|
||||||
|
#, no-wrap
|
||||||
|
msgid "Remote5"
|
||||||
|
msgstr "Ovladac5"
|
||||||
|
|
||||||
|
#. type: \b; header
|
||||||
|
#: ../help/help.E.txt:1
|
||||||
|
#, no-wrap
|
||||||
|
msgid "Exercise"
|
||||||
|
msgstr "Cvičení"
|
||||||
|
|
||||||
|
#. type: Plain text
|
||||||
|
#: ../help/help.E.txt:2
|
||||||
|
#, no-wrap
|
||||||
|
msgid "Remote control a slave robot without using an <a object|exchange>information exchange post</a>. The robot should pass over the 6 blue crosses. "
|
||||||
|
msgstr "Ovládejte na dálku jiného robota bez použití <a object|exchange>komunikační stanice</a>. Robot má za úkol přejet přes 6 modrých křížků. "
|
||||||
|
|
||||||
|
#. type: Bullet: '1)'
|
||||||
|
#: ../help/help.E.txt:5
|
||||||
|
#, no-wrap
|
||||||
|
msgid "The <a object|botgr>wheeled grabber</a> without an energy pack and therefore immobile. This is the master you should program so it will transmit orders to the slave."
|
||||||
|
msgstr "<a object|botgr>Pojízdné rameno</a> bez baterie, tím pádem nepojízdné. To je velitel, kterého musíte naprogramovat, aby předával povely dělníkovi."
|
||||||
|
|
||||||
|
#. type: Bullet: '2)'
|
||||||
|
#: ../help/help.E.txt:6
|
||||||
|
#, no-wrap
|
||||||
|
msgid "The slave <a object|bottr>practice bot</a> which is already programmed and just waits for orders from the master."
|
||||||
|
msgstr "<a object|bottr>Cvičný robot</a>, který už je naprogramovaný a jen čeká na povely od velitele."
|
||||||
|
|
||||||
|
#. type: Plain text
|
||||||
|
#: ../help/help.E.txt:8
|
||||||
|
#, no-wrap
|
||||||
|
msgid "The orders shall be stored, so the master will be able to transmit several orders without waiting for each order being processed. We use an <a cbot|array>array</a> for this purpose."
|
||||||
|
msgstr "Povely budeme ukládat do fronty, aby velitel mohl poslat více povelů najednou bez čekání na jejich dokončení. K tomu můžeme využít <a cbot|array>pole</a>."
|
||||||
|
|
||||||
|
#. type: \b; header
|
||||||
|
#: ../help/help.E.txt:10
|
||||||
|
#, no-wrap
|
||||||
|
msgid "The slave"
|
||||||
|
msgstr "Dělník"
|
||||||
|
|
||||||
|
#. type: Plain text
|
||||||
|
#: ../help/help.E.txt:11
|
||||||
|
#, no-wrap
|
||||||
|
msgid "First of all we must understand how the program of the slave works. The <a cbot|class>class</a> <code>order</code> contains two members: <code>m_type</code> is the order to execute (move or turn) and <code>m_param</code> is the distance to move or the rotation angle:"
|
||||||
|
msgstr "Nejprve si musíme vysvětlit, jak funguje program dělníka. <a cbot|class>Třída</a> <code>order</code> obsahuje dva atributy: <code>m_type</code> určuje příkaz, který se má provést (<code>move</code> nebo <code>turn</code>) a <code>m_param</code> určuje délku jízdy nebo úhel otočení:"
|
||||||
|
|
||||||
|
#. type: Plain text
|
||||||
|
#: ../help/help.E.txt:13
|
||||||
|
#, no-wrap
|
||||||
|
msgid "<c/><s/><a cbot|public>public</a> <a cbot|class>class</a> order"
|
||||||
|
msgstr "<c/><s/><a cbot|public>public</a> <a cbot|class>class</a> order"
|
||||||
|
|
||||||
|
#. type: Source code
|
||||||
|
#: ../help/help.E.txt:14
|
||||||
|
#, no-wrap
|
||||||
|
msgid ""
|
||||||
|
"{\n"
|
||||||
|
"\t<a cbot|int>int</a> m_type;\n"
|
||||||
|
"\t<a cbot|float>float</a> m_param;\n"
|
||||||
|
"}"
|
||||||
|
msgstr ""
|
||||||
|
"{\n"
|
||||||
|
"\t<a cbot|int>int</a> m_type;\n"
|
||||||
|
"\t<a cbot|float>float</a> m_param;\n"
|
||||||
|
"}"
|
||||||
|
|
||||||
|
#. type: Plain text
|
||||||
|
#: ../help/help.E.txt:19
|
||||||
|
#, no-wrap
|
||||||
|
msgid "A second <a cbot|class>class</a> <code>exchange</code> contains the mechanism for exchanging the orders. We declare a <code><a cbot|static>static</a></code> class member <code>m_fifo</code> which will contain the list of orders to be executed. The word <code>static</code> insures that the member <code>m_fifo</code> is shared between all instances of the <a cbot|class>class</a> exchange."
|
||||||
|
msgstr "Další <a cbot|class>třída</a> <code>exchange</code> poskytuje mechanismus pro předávání povelů. V ní je deklarovaný <a cbot|static>statický</a> atribut <code>m_fifo</code>, kam budeme povely ukládat. Klíčové slovo <code>static</code> znamená, že všechny instance <a cbot|class>třídy</a> <code>exchange</code> budou atribut <code>m_fifo</code> sdílet mezi sebou."
|
||||||
|
|
||||||
|
#. type: Plain text
|
||||||
|
#: ../help/help.E.txt:21
|
||||||
|
#, no-wrap
|
||||||
|
msgid "<c/><s/>{"
|
||||||
|
msgstr "<c/><s/>{"
|
||||||
|
|
||||||
|
#. type: Source code
|
||||||
|
#: ../help/help.E.txt:22
|
||||||
|
#, no-wrap
|
||||||
|
msgid "\t<a cbot|static>static</a> <a cbot|private>private</a> order m_fifo[] = null;"
|
||||||
|
msgstr "\t<a cbot|static>static</a> <a cbot|private>private</a> order m_fifo[] = null;"
|
||||||
|
|
||||||
|
#. type: Plain text
|
||||||
|
#: ../help/help.E.txt:24
|
||||||
|
#, no-wrap
|
||||||
|
msgid "The <code>put</code> method will be used by the master robot for transmitting an order. The order will simply be added at the end of the <code>m_fifo</code> array:"
|
||||||
|
msgstr "Velitel bude pro předání povelu volat metodu <code>put</code>. Povel se jednoduše přidá na konec pole <code>m_fifo</code>:"
|
||||||
|
|
||||||
|
#. type: Plain text
|
||||||
|
#: ../help/help.E.txt:26
|
||||||
|
#, no-wrap
|
||||||
|
msgid "<c/><s/>\t<a cbot|synchro>synchronized</a> void put(order a)"
|
||||||
|
msgstr "<c/><s/>\t<a cbot|synchro>synchronized</a> void put(order a)"
|
||||||
|
|
||||||
|
#. type: Source code
|
||||||
|
#: ../help/help.E.txt:27
|
||||||
|
#, no-wrap
|
||||||
|
msgid ""
|
||||||
|
"\t{\n"
|
||||||
|
"\t\tm_fifo[sizeof(m_fifo)] = a;\n"
|
||||||
|
"\t}"
|
||||||
|
msgstr ""
|
||||||
|
"\t{\n"
|
||||||
|
"\t\tm_fifo[sizeof(m_fifo)] = a;\n"
|
||||||
|
"\t}"
|
||||||
|
|
||||||
|
#. type: Plain text
|
||||||
|
#: ../help/help.E.txt:31
|
||||||
|
#, no-wrap
|
||||||
|
msgid "Another method <code>get</code> will be used by the slave to retrieve the orders. This method returns the order to be executed. If the list is empty, <code>null</code> will be returned and the robot must wait for more orders. Otherwise the first order in the list must be returned and the remaining orders must be \"scrolled up\". As an array can not be \"shortened\" we use a temporary array <code>copy</code>:"
|
||||||
|
msgstr "Dělník si pak povely přečte pomocí metody <code>get</code>. Tato metoda vrátí další povel, který se má provést. Pokud je fronta prázdná, metoda vrátí <code>null</code> a robot musí čekat. Jinak vrátí první povel ve frontě a zbývající povely \"posune\" na uvolněné místo. Protože pole nelze zkrátit, použijeme k tomu dočasné pole <code>copy</code>:"
|
||||||
|
|
||||||
|
#. type: Plain text
|
||||||
|
#: ../help/help.E.txt:33
|
||||||
|
#, no-wrap
|
||||||
|
msgid "<c/><s/>\t<a cbot|synchro>synchronized</a> order get()"
|
||||||
|
msgstr "<c/><s/>\t<a cbot|synchro>synchronized</a> order get()"
|
||||||
|
|
||||||
|
#. type: Source code
|
||||||
|
#: ../help/help.E.txt:34
|
||||||
|
#, no-wrap
|
||||||
|
msgid ""
|
||||||
|
"\t{\n"
|
||||||
|
"\t\tif ( sizeof(m_fifo) == 0 ) return null;\n"
|
||||||
|
"\n"
|
||||||
|
"\t\torder a = m_fifo[0];\n"
|
||||||
|
"\t\torder copy[] = null;\n"
|
||||||
|
"\t\tfor ( int i=1 ; i<sizeof(m_fifo) ; i++ )\n"
|
||||||
|
"\t\t{\n"
|
||||||
|
"\t\t\tcopy[i-1] = m_fifo[i];\n"
|
||||||
|
"\t\t}\n"
|
||||||
|
"\t\tm_fifo = copy;\n"
|
||||||
|
"\t\treturn a;\n"
|
||||||
|
"\t}"
|
||||||
|
msgstr ""
|
||||||
|
"\t{\n"
|
||||||
|
"\t\tif ( sizeof(m_fifo) == 0 ) return null;\n"
|
||||||
|
"\n"
|
||||||
|
"\t\torder a = m_fifo[0];\n"
|
||||||
|
"\t\torder copy[] = null;\n"
|
||||||
|
"\t\tfor ( int i=1 ; i<sizeof(m_fifo) ; i++ )\n"
|
||||||
|
"\t\t{\n"
|
||||||
|
"\t\t\tcopy[i-1] = m_fifo[i];\n"
|
||||||
|
"\t\t}\n"
|
||||||
|
"\t\tm_fifo = copy;\n"
|
||||||
|
"\t\treturn a;\n"
|
||||||
|
"\t}"
|
||||||
|
|
||||||
|
#. type: Plain text
|
||||||
|
#: ../help/help.E.txt:47
|
||||||
|
#, no-wrap
|
||||||
|
msgid "The main program of the slave contains an instance of the class <code>exchange</code> called <code>list</code>. We put () after the word <code>list</code> in order to create an instance of the class <code>exchange</code>."
|
||||||
|
msgstr "Hlavní program dělníka obsahuje instanci třídy <code>exchange</code> nazvanou <code>list</code>. Závorky za slovem <code>list</code> znamenají, že vytváříme instanci třídy <code>exchange</code>."
|
||||||
|
|
||||||
|
#. type: Plain text
|
||||||
|
#: ../help/help.E.txt:49
|
||||||
|
#, no-wrap
|
||||||
|
msgid "<c/><s/><a cbot|extern>extern</a> void object::Slave5( )"
|
||||||
|
msgstr "<c/><s/><a cbot|extern>extern</a> void object::Slave5( )"
|
||||||
|
|
||||||
|
#. type: Source code
|
||||||
|
#: ../help/help.E.txt:50
|
||||||
|
#, no-wrap
|
||||||
|
msgid ""
|
||||||
|
"{\n"
|
||||||
|
"\texchange list();\n"
|
||||||
|
"\torder todo;"
|
||||||
|
msgstr ""
|
||||||
|
"{\n"
|
||||||
|
"\texchange list();\n"
|
||||||
|
"\torder todo;"
|
||||||
|
|
||||||
|
#. type: Plain text
|
||||||
|
#: ../help/help.E.txt:54
|
||||||
|
#, no-wrap
|
||||||
|
msgid "The outer <code>while</code> loop lasts for ever. The inner <code>while</code> loop waits for an order by using the <code>get</code> method of the <code>exchange</code> class. As soon as <code>get</code> returns a value different from <code>null</code>, the while loop stops."
|
||||||
|
msgstr "Vnější cyklus <code>while</code> se opakuje donekonečna. Vnitřní cyklus <code>while</code> čeká na povel a stále volá metodu <code>get</code> třídy <code>exchange</code>. Když metoda <code>get</code> vrátí jinou hodnotu než <code>null</code>, vnitřní cyklus skončí."
|
||||||
|
|
||||||
|
#. type: Plain text
|
||||||
|
#: ../help/help.E.txt:56
|
||||||
|
#, no-wrap
|
||||||
|
msgid "<c/><s/>\t<a cbot|while>while</a> ( true )"
|
||||||
|
msgstr "<c/><s/>\t<a cbot|while>while</a> ( true )"
|
||||||
|
|
||||||
|
#. type: Source code
|
||||||
|
#: ../help/help.E.txt:57
|
||||||
|
#, no-wrap
|
||||||
|
msgid ""
|
||||||
|
"\t{\n"
|
||||||
|
"\t\t<a cbot|while>while</a> ( true )\n"
|
||||||
|
"\t\t{\n"
|
||||||
|
"\t\t\ttodo = list.get();\n"
|
||||||
|
"\t\t\tif ( todo != null ) break;\n"
|
||||||
|
"\t\t\twait(1);\n"
|
||||||
|
"\t\t}"
|
||||||
|
msgstr ""
|
||||||
|
"\t{\n"
|
||||||
|
"\t\t<a cbot|while>while</a> ( true )\n"
|
||||||
|
"\t\t{\n"
|
||||||
|
"\t\t\ttodo = list.get();\n"
|
||||||
|
"\t\t\tif ( todo != null ) break;\n"
|
||||||
|
"\t\t\twait(1);\n"
|
||||||
|
"\t\t}"
|
||||||
|
|
||||||
|
#. type: Plain text
|
||||||
|
#: ../help/help.E.txt:65
|
||||||
|
#, no-wrap
|
||||||
|
msgid "Now we have received the order in the <code>todo</code> variable. All we have to do is execute it:"
|
||||||
|
msgstr "Když máme povel uložený v proměnné <code>todo</code>, zbývá ho jen provést:"
|
||||||
|
|
||||||
|
#. type: Plain text
|
||||||
|
#: ../help/help.E.txt:67
|
||||||
|
#, no-wrap
|
||||||
|
msgid "<c/><s/>\t\tif ( todo.m_type == 1 )"
|
||||||
|
msgstr "<c/><s/>\t\tif ( todo.m_type == 1 )"
|
||||||
|
|
||||||
|
#. type: Source code
|
||||||
|
#: ../help/help.E.txt:68
|
||||||
|
#, no-wrap
|
||||||
|
msgid ""
|
||||||
|
"\t\t{\n"
|
||||||
|
"\t\t\tmove(todo.m_param);\n"
|
||||||
|
"\t\t}\n"
|
||||||
|
"\t\telse if ( todo.m_type == 2 )\n"
|
||||||
|
"\t\t{\n"
|
||||||
|
"\t\t\tturn(todo.m_param);\n"
|
||||||
|
"\t\t}\n"
|
||||||
|
"\t\telse\n"
|
||||||
|
"\t\t{\n"
|
||||||
|
"\t\t\tmessage(\"Unknown order\");\n"
|
||||||
|
"\t\t}\n"
|
||||||
|
"\t}\n"
|
||||||
|
"}"
|
||||||
|
msgstr ""
|
||||||
|
"\t\t{\n"
|
||||||
|
"\t\t\tmove(todo.m_param);\n"
|
||||||
|
"\t\t}\n"
|
||||||
|
"\t\telse if ( todo.m_type == 2 )\n"
|
||||||
|
"\t\t{\n"
|
||||||
|
"\t\t\tturn(todo.m_param);\n"
|
||||||
|
"\t\t}\n"
|
||||||
|
"\t\telse\n"
|
||||||
|
"\t\t{\n"
|
||||||
|
"\t\t\tmessage(\"Unknown order\");\n"
|
||||||
|
"\t\t}\n"
|
||||||
|
"\t}\n"
|
||||||
|
"}"
|
||||||
|
|
||||||
|
#. type: \b; header
|
||||||
|
#: ../help/help.E.txt:82
|
||||||
|
#, no-wrap
|
||||||
|
msgid "The master"
|
||||||
|
msgstr "Velitel"
|
||||||
|
|
||||||
|
#. type: Plain text
|
||||||
|
#: ../help/help.E.txt:83
|
||||||
|
#, no-wrap
|
||||||
|
msgid "In the master we write a function called <code>SendOrder</code> which will send an order to the slave:"
|
||||||
|
msgstr "Pro velitele napíšeme funkci <code>SendOrder</code>, která pošle povel dělníkovi:"
|
||||||
|
|
||||||
|
#. type: Plain text
|
||||||
|
#: ../help/help.E.txt:85
|
||||||
|
#, no-wrap
|
||||||
|
msgid "<c/><s/>void object::SendOrder(float order, float param)"
|
||||||
|
msgstr "<c/><s/>void object::SendOrder(float order, float param)"
|
||||||
|
|
||||||
|
#. type: Source code
|
||||||
|
#: ../help/help.E.txt:86
|
||||||
|
#, no-wrap
|
||||||
|
msgid ""
|
||||||
|
"{\n"
|
||||||
|
"\texchange list();\n"
|
||||||
|
"\torder todo();\n"
|
||||||
|
"\t\n"
|
||||||
|
"\ttodo.m_type = order;\n"
|
||||||
|
"\ttodo.m_param = param;\n"
|
||||||
|
"\tlist.put(todo);\n"
|
||||||
|
"}"
|
||||||
|
msgstr ""
|
||||||
|
"{\n"
|
||||||
|
"\texchange list();\n"
|
||||||
|
"\torder todo();\n"
|
||||||
|
"\t\n"
|
||||||
|
"\ttodo.m_type = order;\n"
|
||||||
|
"\ttodo.m_param = param;\n"
|
||||||
|
"\tlist.put(todo);\n"
|
||||||
|
"}"
|
||||||
|
|
||||||
|
#. type: Plain text
|
||||||
|
#: ../help/help.E.txt:95
|
||||||
|
#, no-wrap
|
||||||
|
msgid "Now the main program of the master is very simple:"
|
||||||
|
msgstr "Dál už bude hlavní program velitele celkem jednoduchý:"
|
||||||
|
|
||||||
|
#. type: Plain text
|
||||||
|
#: ../help/help.E.txt:97
|
||||||
|
#, no-wrap
|
||||||
|
msgid "<c/><s/>extern void object::Remote5( )"
|
||||||
|
msgstr "<c/><s/>extern void object::Ovladac5( )"
|
||||||
|
|
||||||
|
#. type: Source code
|
||||||
|
#: ../help/help.E.txt:98
|
||||||
|
#, no-wrap
|
||||||
|
msgid ""
|
||||||
|
"{\n"
|
||||||
|
"\tSendOrder(1, 20); // move(20);\n"
|
||||||
|
"\tSendOrder(2, 90); // turn(90);\n"
|
||||||
|
"\tSendOrder(1, 20); // move(20);\n"
|
||||||
|
"\tSendOrder(2, 90); // turn(90);\n"
|
||||||
|
"\tSendOrder(1, 10); // move(10);\n"
|
||||||
|
"\tSendOrder(2, 90); // turn(90);\n"
|
||||||
|
"\tSendOrder(1, 10); // move(10);\n"
|
||||||
|
"\tSendOrder(2,-90); // turn(-90);\n"
|
||||||
|
"\tSendOrder(1, 10); // move(10);\n"
|
||||||
|
"}"
|
||||||
|
msgstr ""
|
||||||
|
"{\n"
|
||||||
|
"\tSendOrder(1, 20); // move(20);\n"
|
||||||
|
"\tSendOrder(2, 90); // turn(90);\n"
|
||||||
|
"\tSendOrder(1, 20); // move(20);\n"
|
||||||
|
"\tSendOrder(2, 90); // turn(90);\n"
|
||||||
|
"\tSendOrder(1, 10); // move(10);\n"
|
||||||
|
"\tSendOrder(2, 90); // turn(90);\n"
|
||||||
|
"\tSendOrder(1, 10); // move(10);\n"
|
||||||
|
"\tSendOrder(2,-90); // turn(-90);\n"
|
||||||
|
"\tSendOrder(1, 10); // move(10);\n"
|
||||||
|
"}"
|
||||||
|
|
||||||
|
#. type: Plain text
|
||||||
|
#: ../help/help.E.txt:110
|
||||||
|
#, no-wrap
|
||||||
|
msgid "<format key><key help/></format> show these instruction at any time."
|
||||||
|
msgstr "Tyto instrukce si můžete kdykoliv znovu přečíst klávesou <format key><key help/></format>."
|
||||||
|
|
||||||
|
#. type: \t; header
|
||||||
|
#: ../help/help.E.txt:112
|
||||||
|
#, no-wrap
|
||||||
|
msgid "See also"
|
||||||
|
msgstr "Užitečné odkazy"
|
||||||
|
|
||||||
|
#. type: Plain text
|
||||||
|
#: ../help/help.E.txt:113
|
||||||
|
#, no-wrap
|
||||||
|
msgid "<a command>Controls</a> and <a cbot>programming</a>."
|
||||||
|
msgstr "<a command>Ovládání</a> a <a cbot>programování</a>."
|
||||||
|
|
||||||
|
#. type: Plain text
|
||||||
|
#: ../help/help.E.txt:4
|
||||||
|
#, no-wrap
|
||||||
|
msgid "The two main actors of this exercise are:"
|
||||||
|
msgstr "Hlavní role v tomto cvičení hrají:"
|
Loading…
Reference in New Issue