From 336f1016c74e60677f0551b6d6bfc013ed0394c2 Mon Sep 17 00:00:00 2001 From: krzys-h Date: Wed, 2 Jul 2014 00:16:36 +0200 Subject: [PATCH] Prepared all help files for migration into PO4A --- help/cbot/D/break.txt | 2 +- help/cbot/D/expr.txt | 2 +- help/cbot/D/new.txt | 1 + help/cbot/D/object.txt | 2 +- help/cbot/D/shield.txt | 2 +- help/cbot/D/var.txt | 8 ++--- help/cbot/E/break.txt | 2 +- help/cbot/E/expr.txt | 2 +- help/cbot/E/new.txt | 1 + help/cbot/E/object.txt | 2 +- help/cbot/E/shield.txt | 2 +- help/cbot/E/var.txt | 8 ++--- help/cbot/F/abstime.txt | 3 -- help/cbot/F/aim.txt | 3 -- help/cbot/F/array.txt | 3 -- help/cbot/F/bool.txt | 6 ---- help/cbot/F/break.txt | 3 +- help/cbot/F/category.txt | 5 ++- help/cbot/F/class.txt | 7 +--- help/cbot/F/close.txt | 6 ---- help/cbot/F/continue.txt | 3 -- help/cbot/F/deletef.txt | 6 ++-- help/cbot/F/delinfo.txt | 5 --- help/cbot/F/direct.txt | 3 -- help/cbot/F/dist.txt | 8 ++--- help/cbot/F/dist2d.txt | 3 -- help/cbot/F/do.txt | 4 --- help/cbot/F/drop.txt | 3 -- help/cbot/F/eof.txt | 6 ---- help/cbot/F/expr.txt | 40 ++++++++++++++++++++-- help/cbot/F/false.txt | 3 -- help/cbot/F/file.txt | 6 ++-- help/cbot/F/fire.txt | 7 ++-- help/cbot/F/flatgrnd.txt | 4 --- help/cbot/F/float.txt | 18 +++++----- help/cbot/F/for.txt | 9 +++-- help/cbot/F/function.txt | 12 ++++--- help/cbot/F/grab.txt | 3 -- help/cbot/F/if.txt | 4 --- help/cbot/F/int.txt | 3 -- help/cbot/F/jet.txt | 4 +-- help/cbot/F/message.txt | 7 ---- help/cbot/F/motor.txt | 7 ++-- help/cbot/F/move.txt | 3 -- help/cbot/F/new.txt | 14 ++++---- help/cbot/F/object.txt | 19 ----------- help/cbot/F/open.txt | 7 +--- help/cbot/F/openfile.txt | 4 --- help/cbot/F/point.txt | 2 -- help/cbot/F/pointer.txt | 14 +++++--- help/cbot/F/public.txt | 2 ++ help/cbot/F/readln.txt | 6 ---- help/cbot/F/receive.txt | 5 --- help/cbot/F/recycle.txt | 3 -- help/cbot/F/return.txt | 7 +--- help/cbot/F/search.txt | 3 -- help/cbot/F/send.txt | 6 ---- help/cbot/F/shield.txt | 3 -- help/cbot/F/sizeof.txt | 7 ++-- help/cbot/F/sniff.txt | 3 -- help/cbot/F/space.txt | 4 --- help/cbot/F/strfind.txt | 4 --- help/cbot/F/string.txt | 10 ++++-- help/cbot/F/strleft.txt | 5 --- help/cbot/F/strlen.txt | 4 --- help/cbot/F/strlower.txt | 4 --- help/cbot/F/strmid.txt | 5 --- help/cbot/F/strright.txt | 5 --- help/cbot/F/strupper.txt | 4 --- help/cbot/F/strval.txt | 4 +-- help/cbot/F/synchro.txt | 6 +++- help/cbot/F/testinfo.txt | 4 --- help/cbot/F/this.txt | 3 -- help/cbot/F/thump.txt | 3 -- help/cbot/F/true.txt | 3 -- help/cbot/F/turn.txt | 3 -- help/cbot/F/type.txt | 8 ++--- help/cbot/F/var.txt | 17 +++------- help/cbot/F/void.txt | 9 +++-- help/cbot/F/wait.txt | 3 -- help/cbot/F/while.txt | 9 ++--- help/cbot/F/writeln.txt | 6 ---- help/cbot/P/break.txt | 2 +- help/cbot/P/object.txt | 2 +- help/cbot/P/shield.txt | 2 +- help/cbot/P/var.txt | 8 ++--- help/cbot/P/void.txt | 2 +- help/cbot/R/expr.txt | 37 +++++++++++++++++++++ help/cbot/R/for.txt | 6 ++++ help/cbot/R/function.txt | 2 ++ help/cbot/R/object.txt | 5 ++- help/cbot/R/public.txt | 1 + help/cbot/R/receive.txt | 5 ++- help/cbot/R/return.txt | 21 ++++++++++-- help/cbot/R/string.txt | 20 +++++++++-- help/cbot/R/void.txt | 6 ++++ help/generic/D/navig.txt | 1 - help/generic/E/navig.txt | 1 - help/generic/F/cbot.txt | 8 ----- help/generic/F/command.txt | 6 ++++ help/generic/P/navig.txt | 1 - help/generic/R/navig.txt | 1 - levels/defi101/help/F/dmove1.txt | 2 -- levels/defi103/help/F/dexch1.txt | 5 --- levels/defi104/help/F/dlaby1.txt | 2 -- levels/defi201/help/F/dradar1.txt | 2 -- levels/defi202/help/F/dfollow1.txt | 2 -- levels/defi203/help/F/dhelp1.txt | 2 -- levels/defi204/help/F/dtrap1.txt | 4 --- levels/defi205/help/F/dtrap2.txt | 2 -- levels/defi301/help/F/dremova1.txt | 2 -- levels/defi302/help/F/dremova2.txt | 2 -- levels/defi401/help/D/dproc1.txt | 1 - levels/defi401/help/E/dproc1.txt | 1 - levels/defi401/help/F/dproc1.txt | 2 -- levels/defi402/help/F/dproc2.txt | 2 -- levels/scene101/help/F/mhterre1.txt | 7 ++++ levels/scene102/help/F/mhterre2.txt | 4 ++- levels/scene102/help/F/msterre2.txt | 8 ++--- levels/scene103/help/D/mhterre3.txt | 2 +- levels/scene103/help/E/mhterre3.txt | 2 +- levels/scene103/help/F/mhterre3.txt | 16 ++++----- levels/scene103/help/F/msterre3.txt | 31 +++++++++++++++--- levels/scene103/help/R/mhterre3.txt | 2 +- levels/scene201/help/D/mhlune1.txt | 2 -- levels/scene201/help/E/mhlune1.txt | 2 -- levels/scene201/help/F/mhlune1.txt | 12 ++----- levels/scene202/help/F/mhlune2.txt | 8 +++-- levels/scene204/help/D/mhlune4.txt | 2 -- levels/scene204/help/E/mhlune4.txt | 2 -- levels/scene204/help/F/mhlune4.txt | 10 ++---- levels/scene204/help/F/mslune4.txt | 16 ++++++++- levels/scene301/help/F/mhtropi1.txt | 1 + levels/scene302/help/F/mhtropi2.txt | 8 +++++ levels/scene302/help/F/mstropi2.txt | 10 +++--- levels/scene304/help/F/mhtropi4.txt | 4 --- levels/scene305/help/F/mstropi5.txt | 2 -- levels/scene401/help/F/mscrys1.txt | 3 +- levels/scene402/help/F/mhcrys2.txt | 2 -- levels/scene402/help/F/mscrys2.txt | 18 +++++----- levels/scene403/help/F/mhcrys3.txt | 4 ++- levels/scene404/help/F/mhcrys4.txt | 4 ++- levels/scene501/help/F/mssaari1.txt | 21 +++++++----- levels/scene502/help/F/mhsaari2.txt | 4 +-- levels/scene601/help/F/mhvolca1.txt | 3 +- levels/scene602/help/F/mhvolca2.txt | 3 +- levels/scene602/help/F/msvolca2.txt | 4 ++- levels/scene602/help/P/msvolca2.txt | 2 +- levels/scene603/help/F/mhvolca3.txt | 2 -- levels/scene603/help/F/msvolca3.txt | 8 +++-- levels/scene605/help/F/mhvolca5.txt | 4 ++- levels/scene606/help/F/msvolca6.txt | 2 -- levels/scene701/help/F/mhcent1.txt | 4 ++- levels/scene702/help/F/mhcent2.txt | 4 +-- levels/scene704/help/F/mhcent4.txt | 13 +++++--- levels/scene801/help/F/mhorph1.txt | 6 +++- levels/scene801/help/F/msorph1.txt | 22 ++++++------- levels/scene802/help/F/msorph2.txt | 2 ++ levels/scene901/help/F/mhterra1.txt | 4 ++- levels/scene903/help/F/mhterra3.txt | 2 -- levels/scene904/help/F/mhterra4.txt | 4 ++- levels/scene904/help/F/mlterra4.txt | 4 ++- levels/train101/help/F/tspid1.txt | 38 ++++++++++++++++++--- levels/train102/help/F/tcell1.txt | 16 ++++++--- levels/train103/help/F/ttit1.txt | 32 +++++------------- levels/train104/help/F/ttit2.txt | 19 ++++++++--- levels/train105/help/F/tcell2.txt | 18 +++++----- levels/train201/help/F/tant1.txt | 26 +++------------ levels/train202/help/F/tant2.txt | 32 +++++++++--------- levels/train203/help/F/tant3.txt | 6 ++-- levels/train204/help/F/tant4.txt | 21 ++---------- levels/train205/help/F/tant5.txt | 4 +-- levels/train206/help/F/twasp1.txt | 8 +++-- levels/train207/help/F/twasp2.txt | 7 ++-- levels/train301/help/F/tmove1.txt | 6 +--- levels/train302/help/D/tmove2.txt | 6 ++-- levels/train302/help/E/tmove2.txt | 6 ++-- levels/train302/help/F/tmove2.txt | 20 +++++------ levels/train302/help/R/tmove2.txt | 6 ++-- levels/train304/help/F/texch1.txt | 17 ++++------ levels/train304/help/P/texch1.txt | 2 +- levels/train305/help/F/texch2.txt | 30 ++++++++--------- levels/train305/help/P/texch2.txt | 2 +- levels/train306/help/F/tlaby1.txt | 21 ++++-------- levels/train307/help/F/tlaby2.txt | 51 ++++++++++++++++++++++++++--- levels/train308/help/F/tsniff.txt | 2 -- levels/train309/help/F/tremote1.txt | 2 -- levels/train309/help/R/tremote1.txt | 5 ++- levels/train401/help/F/tdragst.txt | 14 ++++---- levels/train401/help/P/tdragst.txt | 2 +- levels/train402/help/F/tradar1.txt | 12 +++---- levels/train403/help/F/tradar2.txt | 2 -- levels/train404/help/F/tchasse.txt | 4 +-- levels/train404/help/P/tchasse.txt | 2 +- levels/train405/help/F/tfollow1.txt | 22 ++++--------- levels/train502/help/F/tremova2.txt | 12 +++---- levels/train503/help/F/tremova3.txt | 28 +++++++--------- levels/train601/help/F/tproc1.txt | 2 -- levels/train602/help/F/tproc2.txt | 3 -- levels/train603/help/F/tremote2.txt | 2 -- levels/train603/help/R/tremote2.txt | 2 +- levels/train701/help/F/tremote3.txt | 13 ++++++-- levels/train702/help/F/tremote4.txt | 15 ++++++++- levels/train703/help/F/tremote5.txt | 12 ++++++- 204 files changed, 725 insertions(+), 762 deletions(-) diff --git a/help/cbot/D/break.txt b/help/cbot/D/break.txt index 2833e6c2..78c2d332 100644 --- a/help/cbot/D/break.txt +++ b/help/cbot/D/break.txt @@ -19,7 +19,7 @@ Here is an example: \s; } \s; \n;more instructions ...\c; \s;} -\n; +\n; \t;See also \l;Programming\u cbot;, \l;types\u cbot\type; and \l;categories\u cbot\category;. diff --git a/help/cbot/D/expr.txt b/help/cbot/D/expr.txt index 1ff8bc73..609db3a3 100644 --- a/help/cbot/D/expr.txt +++ b/help/cbot/D/expr.txt @@ -74,7 +74,7 @@ For example to increment the variable \c;a\n; you can write \n; The value of the expression \c;a++\n; is the value of the variable \c;a\n; before the increment. If you use the prefix operator \c;++a\n; the value of the expression is the value of the variable \c;a\n; after the increment. The same holds for the \c;--\n; decrement operator. -Exemples: +Examples: \c;\s; a = 2 ; \s; b = a++ ; \s; // now b contains 2 and a contains 3 diff --git a/help/cbot/D/new.txt b/help/cbot/D/new.txt index 97261784..d0f2e81c 100644 --- a/help/cbot/D/new.txt +++ b/help/cbot/D/new.txt @@ -16,6 +16,7 @@ If your class has a constructor with parameters you can write: \n;or: \c;\s; MyClass item(2, 3); \n; + \t;See also \c;\l;class\u cbot\class;\n;, \c;\l;reference\u cbot\pointer;\n; \l;Programming\u cbot;, \l;types\u cbot\type; and \l;categories\u cbot\category;. diff --git a/help/cbot/D/object.txt b/help/cbot/D/object.txt index 242de885..40ad8c25 100644 --- a/help/cbot/D/object.txt +++ b/help/cbot/D/object.txt @@ -64,7 +64,7 @@ The type \c;object\n; returns the special value \c;\l;null\u cbot\null;\n; when \s; if ( a.position.z > 50 ) // is it on a mountain ? \s; { \s; } -\n; +\n; \t;See also \l;Programming\u cbot;, \l;types\u cbot\type; and \l;categories\u cbot\category;. diff --git a/help/cbot/D/shield.txt b/help/cbot/D/shield.txt index d9aff476..9cd805e7 100644 --- a/help/cbot/D/shield.txt +++ b/help/cbot/D/shield.txt @@ -1,6 +1,6 @@ \b;Instruction \c;shield\n; Syntax: -\s;\c;shield ( oper );\n; +\s;\c;shield ( oper, radius );\n; Activates or deactivates the shield of the \l;ahielder\u object\botshld;. You can of course move the shielder when the shield is active. It protects all objects that are inside the shielded sphere from enemy fire. The radius of the sphere can range between 10 and 25 meters. diff --git a/help/cbot/D/var.txt b/help/cbot/D/var.txt index 8c8f95be..0da87c91 100644 --- a/help/cbot/D/var.txt +++ b/help/cbot/D/var.txt @@ -19,9 +19,9 @@ You should be careful about the choice of the names that you give to variables; In the example above, the keyword \c;int\n; indicates that this variable can contain only whole numbers, which is adequate to counting objects. If you want to measure a distance, better use a variable that can contain also real numbers, with a fractional part (like 3.45 or 0.034): in this case, use the type \c;float\n;. In fact, a variable is made up of three parts: -1) the name -2) the type of the information stored inside -3) the content, i.e. the information itself +1) the name, +2) the type of the information stored inside, +3) the content, i.e. the information itself. \t;the name You need the name to be able to distinguish the different variables from each other. @@ -45,7 +45,7 @@ Once you declared a variable, it still does not contain any value. Before you ca \n; You can also declare a variable and put a value inside in the same line, writing: \c;\s; int countTit = 0; -\n; +\n; When you assign a value to a variable with the equals sign \c;=\n;, the value on the right side is copied into the value on the left side. Consider the following example: \c;\s; int i, j; \s; i = 5+2; // i takes the value 7 diff --git a/help/cbot/E/break.txt b/help/cbot/E/break.txt index 2833e6c2..78c2d332 100644 --- a/help/cbot/E/break.txt +++ b/help/cbot/E/break.txt @@ -19,7 +19,7 @@ Here is an example: \s; } \s; \n;more instructions ...\c; \s;} -\n; +\n; \t;See also \l;Programming\u cbot;, \l;types\u cbot\type; and \l;categories\u cbot\category;. diff --git a/help/cbot/E/expr.txt b/help/cbot/E/expr.txt index 1ff8bc73..609db3a3 100644 --- a/help/cbot/E/expr.txt +++ b/help/cbot/E/expr.txt @@ -74,7 +74,7 @@ For example to increment the variable \c;a\n; you can write \n; The value of the expression \c;a++\n; is the value of the variable \c;a\n; before the increment. If you use the prefix operator \c;++a\n; the value of the expression is the value of the variable \c;a\n; after the increment. The same holds for the \c;--\n; decrement operator. -Exemples: +Examples: \c;\s; a = 2 ; \s; b = a++ ; \s; // now b contains 2 and a contains 3 diff --git a/help/cbot/E/new.txt b/help/cbot/E/new.txt index 97261784..d0f2e81c 100644 --- a/help/cbot/E/new.txt +++ b/help/cbot/E/new.txt @@ -16,6 +16,7 @@ If your class has a constructor with parameters you can write: \n;or: \c;\s; MyClass item(2, 3); \n; + \t;See also \c;\l;class\u cbot\class;\n;, \c;\l;reference\u cbot\pointer;\n; \l;Programming\u cbot;, \l;types\u cbot\type; and \l;categories\u cbot\category;. diff --git a/help/cbot/E/object.txt b/help/cbot/E/object.txt index 242de885..40ad8c25 100644 --- a/help/cbot/E/object.txt +++ b/help/cbot/E/object.txt @@ -64,7 +64,7 @@ The type \c;object\n; returns the special value \c;\l;null\u cbot\null;\n; when \s; if ( a.position.z > 50 ) // is it on a mountain ? \s; { \s; } -\n; +\n; \t;See also \l;Programming\u cbot;, \l;types\u cbot\type; and \l;categories\u cbot\category;. diff --git a/help/cbot/E/shield.txt b/help/cbot/E/shield.txt index d9aff476..9cd805e7 100644 --- a/help/cbot/E/shield.txt +++ b/help/cbot/E/shield.txt @@ -1,6 +1,6 @@ \b;Instruction \c;shield\n; Syntax: -\s;\c;shield ( oper );\n; +\s;\c;shield ( oper, radius );\n; Activates or deactivates the shield of the \l;ahielder\u object\botshld;. You can of course move the shielder when the shield is active. It protects all objects that are inside the shielded sphere from enemy fire. The radius of the sphere can range between 10 and 25 meters. diff --git a/help/cbot/E/var.txt b/help/cbot/E/var.txt index 8c8f95be..0da87c91 100644 --- a/help/cbot/E/var.txt +++ b/help/cbot/E/var.txt @@ -19,9 +19,9 @@ You should be careful about the choice of the names that you give to variables; In the example above, the keyword \c;int\n; indicates that this variable can contain only whole numbers, which is adequate to counting objects. If you want to measure a distance, better use a variable that can contain also real numbers, with a fractional part (like 3.45 or 0.034): in this case, use the type \c;float\n;. In fact, a variable is made up of three parts: -1) the name -2) the type of the information stored inside -3) the content, i.e. the information itself +1) the name, +2) the type of the information stored inside, +3) the content, i.e. the information itself. \t;the name You need the name to be able to distinguish the different variables from each other. @@ -45,7 +45,7 @@ Once you declared a variable, it still does not contain any value. Before you ca \n; You can also declare a variable and put a value inside in the same line, writing: \c;\s; int countTit = 0; -\n; +\n; When you assign a value to a variable with the equals sign \c;=\n;, the value on the right side is copied into the value on the left side. Consider the following example: \c;\s; int i, j; \s; i = 5+2; // i takes the value 7 diff --git a/help/cbot/F/abstime.txt b/help/cbot/F/abstime.txt index b6f0cc82..e9bcdae3 100644 --- a/help/cbot/F/abstime.txt +++ b/help/cbot/F/abstime.txt @@ -7,8 +7,5 @@ Retourne le temps absolu depuis lequel la partie est commencée. \t;Valeur retournée: \c;\l;float\u cbot\float;\n; Temps en secondes. -\t;Dictionnaire anglais-français -\c;time\n; = temps - \t;Voir aussi \l;Programmation\u cbot;, \l;types\u cbot\type; et \l;catégories\u cbot\category;. diff --git a/help/cbot/F/aim.txt b/help/cbot/F/aim.txt index 37bfa3c1..3c7a4fbf 100644 --- a/help/cbot/F/aim.txt +++ b/help/cbot/F/aim.txt @@ -17,8 +17,5 @@ Zéro si tout est ok, ou valeur non nulle si une erreur est intervenue. \c;== 0 \n;angle atteint \c;!= 0 \n;rotation impossible -\t;Dictionnaire anglais-français -\c;aim\n; = viser - \t;Voir aussi \l;Programmation\u cbot;, \l;types\u cbot\type; et \l;catégories\u cbot\category;. diff --git a/help/cbot/F/array.txt b/help/cbot/F/array.txt index fb93d830..1211a25d 100644 --- a/help/cbot/F/array.txt +++ b/help/cbot/F/array.txt @@ -28,8 +28,5 @@ Lorsqu'un tableau est déclaré avec une taille maximale, le programme donne une \n; Lorsqu'on donne un tableau comme paramètre d'une \l;fonction\u cbot\function;, c'est toujours une \l;référence\u cbot\pointer; qui est passée. -\t;Dictionnaire anglais-français -\c;array\n; = tableau - \t;Voir aussi \l;Programmation\u cbot;, \l;types\u cbot\type; et \l;catégories\u cbot\category;. diff --git a/help/cbot/F/bool.txt b/help/cbot/F/bool.txt index 540bb70b..bde37da8 100644 --- a/help/cbot/F/bool.txt +++ b/help/cbot/F/bool.txt @@ -1,11 +1,5 @@ \b;Type \c;bool\n; Ce type permet de représenter une valeur booléenne, c'est-à-dire une valeur ne pouvant prendre que deux états: vrai ou faux. -\s;\c; true \n;vrai -\s;\c; false \n;faux - -\t;Dictionnaire anglais-français -\c;boolean\n; = booléen - \t;Voir aussi \l;Programmation\u cbot;, \l;types\u cbot\type; et \l;catégories\u cbot\category;. diff --git a/help/cbot/F/break.txt b/help/cbot/F/break.txt index 354cd93d..f209cabe 100644 --- a/help/cbot/F/break.txt +++ b/help/cbot/F/break.txt @@ -17,10 +17,9 @@ Voici un exemple d'utilisation: \s; { \s; break; \s; } +\s; \n;more instructions ...\c; \s;} \n; -\t;Dictionnaire anglais-français -\c;break\n; = rompre \t;Voir aussi \l;Programmation\u cbot;, \l;types\u cbot\type; et \l;catégories\u cbot\category;. diff --git a/help/cbot/F/category.txt b/help/cbot/F/category.txt index d6865143..885068c0 100644 --- a/help/cbot/F/category.txt +++ b/help/cbot/F/category.txt @@ -1,6 +1,9 @@ \b;Valeur \c;catégorie\n; La catégorie détermine la nature d'un objet. Dans COLOBOT, tout est objet: les robots, les bâtiments, les matières premières, les éléments du décor, etc. -Dans un programme, un nom de catégorie est toujours \const;colorié en rouge\norm;. Si une catégorie n'est pas coloriée, c'est que son nom est mal orthographié. Il faut par exemple respecter les majuscules et les minuscules. Voici les différents types possibles: + +Dans un programme, un nom de catégorie est toujours \const;colorié en rouge\norm;. Si une catégorie n'est pas coloriée, c'est que son nom est mal orthographié. Il faut par exemple respecter les majuscules et les minuscules. + +Voici les différents types possibles: \t;Catégories des bâtiments: diff --git a/help/cbot/F/class.txt b/help/cbot/F/class.txt index d3fed35e..9691ed47 100644 --- a/help/cbot/F/class.txt +++ b/help/cbot/F/class.txt @@ -6,12 +6,7 @@ La syntaxe pour déclarer une classe est la suivante: \s; déclarations; \s;} \n; -Une classe peut contenir des \l;variables\u cbot\var; et des \l;fonctions\u cbot\function;. Mais dans la terminologie des langages orientés objets, on les appelle "champs" et "méthodes": -\tab;\c; variable -> champ\n; -\tab;\c; fonction -> méthode\n; -Le terme "membre" désigne un champ ou une méthode. - -La classe est d'office \l;publique\u cbot\public; (disponible partout). Les membres de la classe sont également publiques (disponible à tous). Les déclarations peuvent être des déclarations de champs ou des déclarations de méthodes (avec le \l;bloc\u cbot\bloc; d'exécution), par exemple: +La classe est d'office \l;publique\u cbot\public; (disponible partout). Les membres de la classe sont également publiques (disponible à tous). Les déclarations peuvent être des déclarations de champs ou des déclarations de méthodes (avec le \l;bloc\u cbot\bloc; d'exécution). Une classe peut contenir des \l;variables\u cbot\var; et des \l;fonctions\u cbot\function;. Mais dans la terminologie des langages orientés objets, on les appelle "champs" et "méthodes". Le terme "membre" désigne un champ ou une méthode. \c; \s;public class MaClasse \s;{ diff --git a/help/cbot/F/close.txt b/help/cbot/F/close.txt index 3460380b..bfdfb039 100644 --- a/help/cbot/F/close.txt +++ b/help/cbot/F/close.txt @@ -3,12 +3,6 @@ L'instruction \c;close();\n; ferme un fichier de texte dans le dossier files/. C \c; \s; handle.close(); \n; -\t;Dictionnaire anglais-français -\c;file \n; = fichier -\c;handle\n; = poignée, manipuler -\c;open \n; = ouvre -\c;close \n; = ferme - \t;Voir aussi \c;\l;file\u cbot\file;\n;, \c;\l;open\u cbot\open;\n;, \c;\l;readln\u cbot\readln;\n;, \c;\l;writeln\u cbot\writeln;\n; et \c;\l;eof\u cbot\eof;\n;. \l;Programmation\u cbot;, \l;types\u cbot\type; et \l;catégories\u cbot\category;. diff --git a/help/cbot/F/continue.txt b/help/cbot/F/continue.txt index a0b68278..eb3007da 100644 --- a/help/cbot/F/continue.txt +++ b/help/cbot/F/continue.txt @@ -21,8 +21,5 @@ Voici un exemple d'utilisation: \n; Les instructions seront exécutées pour les valeurs de \c;i\n; 1, 2, 4 et 5. -\t;Dictionnaire anglais-français -\c;continue\n; = continuer - \t;Voir aussi \l;Programmation\u cbot;, \l;types\u cbot\type; et \l;catégories\u cbot\category;. diff --git a/help/cbot/F/deletef.txt b/help/cbot/F/deletef.txt index df1f6cd2..e8f28a40 100644 --- a/help/cbot/F/deletef.txt +++ b/help/cbot/F/deletef.txt @@ -1,12 +1,10 @@ \b;Instruction \c;deletefile\n; L'instruction \c;deletefile();\n; supprime un fichier dans le dossier files/. +Files can only be deleted in the files/ folder which is located in the folder where Colobot has been installed. You cannot not delete files that are located elsewhere than in the files/ folder. + Syntaxe: \s;\c;deletefile ( filename );\n; -\t;Dictionnaire anglais-français -\c;delete\n; = effacer -\c;file \n; = fichier - \t;Voir aussi \l;Programmation\u cbot;, \l;types\u cbot\type; et \l;catégories\u cbot\category;. diff --git a/help/cbot/F/delinfo.txt b/help/cbot/F/delinfo.txt index 580077a5..d3e147dd 100644 --- a/help/cbot/F/delinfo.txt +++ b/help/cbot/F/delinfo.txt @@ -10,11 +10,6 @@ Nom de l'information à supprimer dans la borne. Ce nom est une chaîne de carac \t;power: \c;float\n; Puissance de l'émetteur, qui correspond à la distance maximale jusqu'où peut être la borne. La valeur par défaut est de 10 mètres. -\t;Dictionnaire anglais-français -\c;delete\n; = effacer -\c;name \n; = nom -\c;power \n; = puissance - \t;Voir aussi \c;\l;receive\u cbot\receive;\n;, \c;\l;send\u cbot\send;\n; et \c;\l;testinfo\u cbot\testinfo;\n;. \l;Programmation\u cbot;, \l;types\u cbot\type; et \l;catégories\u cbot\category;. diff --git a/help/cbot/F/direct.txt b/help/cbot/F/direct.txt index aceeeef3..796d7f5b 100644 --- a/help/cbot/F/direct.txt +++ b/help/cbot/F/direct.txt @@ -10,8 +10,5 @@ Position à atteindre. \t;Valeur retournée: \c;\l;float\u cbot\float;\n; Angle en degré de la rotation à effectuer. -90 signifie une rotation d'un quart de tour vers la droite, par exemple. -\t;Dictionnaire anglais-français -\c;direction\n; = direction - \t;Voir aussi \l;Programmation\u cbot;, \l;types\u cbot\type; et \l;catégories\u cbot\category;. diff --git a/help/cbot/F/dist.txt b/help/cbot/F/dist.txt index fec3a349..93aa3a0d 100644 --- a/help/cbot/F/dist.txt +++ b/help/cbot/F/dist.txt @@ -1,5 +1,8 @@ \b;Instruction \c;distance\n; -Avec l'instruction \c;distance( , )\n; vous pouvez calculer la distance entre deux positions. Si vous écrivez \c;position\n; tout seul, cela donne la position du robot qui exécute le programme. Si vous écrivez le nom d'une variable suivie de \c;.position\n;, cela donne la position de l'objet décrit par la variable. +Avec l'instruction \c;distance( , )\n; vous pouvez calculer la distance entre deux positions. + +\b;Basic use +Si vous écrivez \c;position\n; tout seul, cela donne la position du robot qui exécute le programme. Si vous écrivez le nom d'une variable suivie de \c;.position\n;, cela donne la position de l'objet décrit par la variable. Voici comment avancer d'une distance égale à la distance entre le robot et la fourmi la plus proche: \c; @@ -23,8 +26,5 @@ Coordonnées des deux points. \t;Valeur retournée: \c;\l;float\u cbot\float;\n; Distance entre les deux points. -\t;Dictionnaire anglais-français -\c;distance\n; = distance - \t;Voir aussi \l;Programmation\u cbot;, \l;types\u cbot\type; et \l;catégories\u cbot\category;. diff --git a/help/cbot/F/dist2d.txt b/help/cbot/F/dist2d.txt index f5d3dc86..d5a2f1ea 100644 --- a/help/cbot/F/dist2d.txt +++ b/help/cbot/F/dist2d.txt @@ -10,8 +10,5 @@ Coordonnées des deux points. \t;Valeur retournée: \c;\l;float\u cbot\float;\n; Distance entre les deux points. -\t;Dictionnaire anglais-français -\c;distance\n; = distance - \t;Voir aussi \l;Programmation\u cbot;, \l;types\u cbot\type; et \l;catégories\u cbot\category;. diff --git a/help/cbot/F/do.txt b/help/cbot/F/do.txt index 5fc803ad..b1368ec8 100644 --- a/help/cbot/F/do.txt +++ b/help/cbot/F/do.txt @@ -24,9 +24,5 @@ Il faut toujours mettre un \l;point-virgule\u cbot\term; à la fin de la ligne \ Les instructions \c;\l;break\u cbot\break;\n; et \c;\l;continue\u cbot\continue;\n; sont utiles à l'intérieur d'un bloc \c;while { }\n;. -\t;Dictionnaire anglais-français -\c;do \n; = faire -\c;while\n; = tant que - \t;Voir aussi \l;Programmation\u cbot;, \l;types\u cbot\type; et \l;catégories\u cbot\category;. diff --git a/help/cbot/F/drop.txt b/help/cbot/F/drop.txt index 6b417ab1..e6ffa6d6 100644 --- a/help/cbot/F/drop.txt +++ b/help/cbot/F/drop.txt @@ -25,8 +25,5 @@ Normalement, une erreur stoppe l'exécution du programme. Si l'instruction \c;dr \c;== 0 \n;objet déposé \c;!= 0 \n;erreur, pas d'objet déposé -\t;Dictionnaire anglais-français -\c;drop\n; = laisser tomber - \t;Voir aussi \l;Programmation\u cbot;, \l;types\u cbot\type; et \l;catégories\u cbot\category;. diff --git a/help/cbot/F/eof.txt b/help/cbot/F/eof.txt index 3f5e4ca5..b120e3e7 100644 --- a/help/cbot/F/eof.txt +++ b/help/cbot/F/eof.txt @@ -10,12 +10,6 @@ Exemple: \s; s = handle.readln(); \s; } \n; -\t;Dictionnaire anglais-français -\c;file \n; = fichier -\c;handle\n; = poignée, manipuler -\c;readln\n; = abréviation de "read line", lit une ligne -\c;eof \n; = abréviation de "end of file", fin de fichier - \t;Voir aussi \c;\l;file\u cbot\file;\n;, \c;\l;open\u cbot\open;\n;, \c;\l;close\u cbot\close;\n;, \c;\l;readln\u cbot\readln;\n; et \c;\l;writeln\u cbot\writeln;\n;. \l;Programmation\u cbot;, \l;types\u cbot\type; et \l;catégories\u cbot\category;. diff --git a/help/cbot/F/expr.txt b/help/cbot/F/expr.txt index 63ad2189..87940d42 100644 --- a/help/cbot/F/expr.txt +++ b/help/cbot/F/expr.txt @@ -6,10 +6,8 @@ Les expressions peuvent contenir les opérations suivantes: \c;* \n; multiplication \c;/ \n; division \c;% \n; reste de la division (seulement pour le type \c;\l;int\u cbot\int;\n;) -\c;**\n; élévation à la puissance L'addition permet non seulement d'additionner des nombres, mais également d'appondre des \l;chaînes de caractères\u cbot\string;. -L'opérateur \c;%\n; est parfois appelé "modulo". \c; \s; int i = 12+3; // donne 15 \s; string s = "a"+"bc"; // donne "abc" @@ -20,7 +18,6 @@ L'opérateur \c;%\n; est parfois appelé "modulo". \s; float f = 5/0; // donne une erreur \s; int i = 13%5; // donne 3 \s; int i = -8%3; // donne -2 -\s; float f = 6**2; // donne 36 \n; Une expression peut contenir des constantes ou des \l;variables\u cbot\var;. Par exemple: @@ -51,5 +48,42 @@ Les fonctions mathématiques suivantes sont disponibles: Les angles sont exprimés en degrés. +\t;Compound assignment operators (for specialists) +Besides the \c;=\n; operators for variable assignment there are several compound-assignment operators. + +The compound-assignment operators combine the \c;=\n; assignment operator with another binary operator such as \c;+\n; or \c;-\n;. Compound-assignment operators perform the operation specified by the additional operator and then assign the result to the left operand. For example, a compound-assignment expression such as + +\c;\s;expression1 += expression2 + +is equivalent to + +\c;\s;expression1 = expression1 + expression2 + +\c;+=\n; addition +\c;-=\n; subtraction +\c;*=\n; multiplication +\c;/=\n; division +\c;%=\n; remainder of the division (only for the type \c;\l;int\u cbot\int;\n;) + +\t;Prefix and posfix increment- and decrement operators (for specialists) +The operators \c;++\n; and \c;--\n; allow you to increment (++) or to decrement (--) a variable in very compact and efficient manner. + +For example to increment the variable \c;a\n; you can write +\c;\s; a++ ; +\n;instead of +\c;\s; a = a + 1 ; +\n; +The value of the expression \c;a++\n; is the value of the variable \c;a\n; before the increment. If you use the prefix operator \c;++a\n; the value of the expression is the value of the variable \c;a\n; after the increment. The same holds for the \c;--\n; decrement operator. + +Exemples: +\c;\s; a = 2 ; +\s; b = a++ ; +\s; // now b contains 2 and a contains 3 + +\c;\s; a = 2 ; +\s; b = ++a ; +\s; // now b contains 3 and a contains 3 +\n; + \t;Voir aussi \l;Programmation\u cbot;, \l;types\u cbot\type; et \l;catégories\u cbot\category;. diff --git a/help/cbot/F/false.txt b/help/cbot/F/false.txt index 1f870912..a0a69ad3 100644 --- a/help/cbot/F/false.txt +++ b/help/cbot/F/false.txt @@ -1,8 +1,5 @@ \b;Type \c;false\n; Cette valeur signifie "faux" pour une \l;variable\u cbot\var; \l;booléenne\u cbot\bool;. -\t;Dictionnaire anglais-français -\c;false\n; = faux - \t;Voir aussi \l;Programmation\u cbot;, \l;types\u cbot\type; et \l;catégories\u cbot\category;. diff --git a/help/cbot/F/file.txt b/help/cbot/F/file.txt index 7082ba8f..1d93133b 100644 --- a/help/cbot/F/file.txt +++ b/help/cbot/F/file.txt @@ -5,16 +5,14 @@ Ce type permet d'accéder à un fichier de texte dans le dossier files/. \n; Notez la présence des parenthèses, indispensables pour créer une instance de la classe \c;file\n;. Sans les parenthèses, \c;handle\n; aurait la valeur \c;null\n;. +Files can only be created and opened in the files/ folder which is located in the folder where Colobot has been installed. You cannot not create or open files elsewhere than in the files/ folder. + \b;Pour spécialistes En réalité, \c;file\n; n'est pas un type, mais une classe. \c;open\n;, \c;close\n;, \c;writeln\n; etc. sont des méthodes de la classe \c;file\n;. C'est la raison pour laquelle on écrit \c;classe.méthode()\n;: \c; \s; handle.open("essai.txt", "w"); \s; handle.close(); \n; -\t;Dictionnaire anglais-français -\c;file \n; = fichier -\c;handle\n; = poignée, manipuler - \t;Voir aussi \c;\l;open\u cbot\open;\n;, \c;\l;close\u cbot\close;\n;, \c;\l;readln\u cbot\readln;\n;, \c;\l;writeln\u cbot\writeln;\n; et \c;\l;eof\u cbot\eof;\n;. \l;Programmation\u cbot;, \l;types\u cbot\type; et \l;catégories\u cbot\category;. diff --git a/help/cbot/F/fire.txt b/help/cbot/F/fire.txt index 2fdc97b8..99e4a860 100644 --- a/help/cbot/F/fire.txt +++ b/help/cbot/F/fire.txt @@ -15,7 +15,9 @@ o \l;Robot shooter\u object\botfr; o \l;Robot orgaShooter\u object\botor; o \l;Robot phazer\u object\botphaz; -Pour diriger le canon vers la gauche ou vers la droite, le seul moyen est d'orienter le robot avec l'instuction \c;\l;turn\u cbot\turn;\n;. Pour diriger le canon vers le haut ou vers le bas, il faut utiliser l'instruction \c;\l;aim\u cbot\aim;\n;. +Pour diriger le canon vers la gauche ou vers la droite, le seul moyen est d'orienter le robot avec l'instuction \c;\l;turn\u cbot\turn;\n;. + +Pour diriger le canon vers le haut ou vers le bas, il faut utiliser l'instruction \c;\l;aim\u cbot\aim;\n;. \t;time: \c;\l;float\u cbot\float;\n; Durée du tir, en secondes. Il s'agit généralement de valeurs relativement courtes. \c;fire(1);\n; tire une rafale identique à celle tirée lors la prise de commande du robot. Dans le cas où on survole une concentration importante de fourmis, on peut tirer des rafales plus longues, par exemple \c;fire(4);\n;. Pour économiser l'énergie, on peut tirer des rafales très courtes avec par exemple \c;fire(0.1);\n;. @@ -25,8 +27,5 @@ Zéro si tout est ok, ou valeur non nulle si une erreur est intervenue. \c;== 0 \n;tir effectué \c;!= 0 \n;tir impossible -\t;Dictionnaire anglais-français -\c;fire\n; = feu - \t;Voir aussi \l;Programmation\u cbot;, \l;types\u cbot\type; et \l;catégories\u cbot\category;. diff --git a/help/cbot/F/flatgrnd.txt b/help/cbot/F/flatgrnd.txt index d4f27dc4..160c179e 100644 --- a/help/cbot/F/flatgrnd.txt +++ b/help/cbot/F/flatgrnd.txt @@ -13,9 +13,5 @@ Rayon maximal après lequel le calcul est stoppé. \t;Valeur retournée: \c;\l;float\u cbot\float;\n; Rayon maximal de la zone plate, compris entre zéro et rmax. -\t;Dictionnaire anglais-français -\c;flat \n; = plat -\c;ground\n; = sol - \t;Voir aussi \l;Programmation\u cbot;, \l;types\u cbot\type; et \l;catégories\u cbot\category;. diff --git a/help/cbot/F/float.txt b/help/cbot/F/float.txt index 881cbd1e..40c3c5ea 100644 --- a/help/cbot/F/float.txt +++ b/help/cbot/F/float.txt @@ -8,20 +8,18 @@ Ce type permet de représenter, de manière approchée, des nombres réels posi \n; Pour représenter un nombre entier (12 ou -5000 par exemple) il faut utiliser le type \c;\l;int\u cbot\int;\n;. -\t;Remarque -Vous ne pouvez pas utiliser d'espace ou d'apostrophe dans un nombre. -En informatique, la virgule est désignée par un point. - -\c;4. \n;représente un nombre réel. -\c;4 \n;représente un nombre entier. - +\t;Attention +Do not insert space or colon characters into a number. To separate the whole part from the fractional part, use a dot. +\c; +\s; Write and not +\s; 12.56 12 . 56 +\s; -54.34 -54,34 +\s;12895.69 12,895.69 +\n; \t;Le coin du spécialiste Sachez que ce type utilise 32 bits. La valeur maximale représentable est 3.4E+38. La valeur minimale représentable est 3.4E-38. -\t;Dictionnaire anglais-français -\c;float\n; = flotter - \t;Voir aussi \l;Programmation\u cbot;, \l;types\u cbot\type; et \l;catégories\u cbot\category;. diff --git a/help/cbot/F/for.txt b/help/cbot/F/for.txt index 620faa9b..897f4467 100644 --- a/help/cbot/F/for.txt +++ b/help/cbot/F/for.txt @@ -16,6 +16,12 @@ Cette \l;condition\u cbot\cond; détermine s'il faut continuer la boucle. Elle e \t;\c;fin\n; Cette instruction simple est exécutée à la fin de chaque tour de boucle. +Example: count from 1 to 4 +\c;\s;\c;for ( i = 0 ; i <= 4 ; i++ ) +\s;{ +\s; message(i) ; +\s;} +\n; L'instruction \c;for\n; est rigoureusement équivalente à l'exemple suivant, utilisant \c;\l;while\u cbot\while;\n;: \s;\c;avant; \s;while ( condition ) @@ -29,8 +35,5 @@ Il ne faut pas mettre un \l;point-virgule\u cbot\term; à la fin de la ligne \c; Les instructions \c;\l;break\u cbot\break;\n; et \c;\l;continue\u cbot\continue;\n; sont utiles à l'intérieur d'un bloc \c;for { }\n;. -\t;Dictionnaire anglais-français -\c;for\n; = pour - \t;Voir aussi \l;Programmation\u cbot;, \l;types\u cbot\type; et \l;catégories\u cbot\category;. diff --git a/help/cbot/F/function.txt b/help/cbot/F/function.txt index 57fe2d47..f601fdff 100644 --- a/help/cbot/F/function.txt +++ b/help/cbot/F/function.txt @@ -1,5 +1,6 @@ \b;Les fonctions -Lorsqu'un programme devient long, il est conseillé de le fragmenter en plusieurs fonctions, qui accompliront chacune une tâche bien précise. Imaginons le programe suivant: +Lorsqu'un programme devient long, il est conseillé de le fragmenter en plusieurs fonctions, qui accompliront chacune une tâche bien précise. +Imaginons le programe suivant: \c; \s;extern void object::Remote( ) \s;{ @@ -32,10 +33,11 @@ Une fonction peut recevoir des données en entrée. Il faut en donner la liste, \c; \s;void Exemple( int a, float x, string s ) \n; -La fonction \c;Exemple\n; va recevoir un nombre entier \c;a\n;, un nombre réel \c;x\n; et une chaîne \c;s\n;. -Les \l;tableaux\u cbot\array; et les instances de \l;classes\u cbot\class; sont toujours passées par \l;référence\u cbot\pointer;. +La fonction \c;Exemple\n; va recevoir un nombre entier \c;a\n;, un nombre réel \c;x\n; et une chaîne \c;s\n;. Parameters are "passed by value", that is the values of parameter variables in a function are copies of the values the caller specified as variables. If you pass an \c;int\n; to a function, its parameter is a copy of whatever value was being passed as argument, and the function can change its parameter value without affecting values in the code that invoked the function. -Une fonction peut effectuer un calcul et retourner le résultat avec l'instruction \c;\l;return\u cbot\return;\n;: +Les \l;tableaux\u cbot\array; et les instances de \l;classes\u cbot\class; sont toujours passées par \l;référence\u cbot\pointer;. That means if you modify the instance or the array in the function, the instance or the array that has been specified by the caller will be actuallay modified. + +Une fonction peut effectuer un calcul et retourner le résultat avec l'instruction \c;\l;return\u cbot\return;\n;. Therefore the function must be declared no longer as void but as a type: \c; \s;float Moyenne( float a, float b ) \s;{ @@ -76,5 +78,7 @@ Il est autorisé de créer plusieurs fonctions ayant le même nom mais des param \n; Lors de l'appel à la fonction, CBOT recherche la fonction dont les paramètres correspondent au mieux. +You can also declare a function \l;public\u cbot\public; so it can be used by other bots. + \t;Voir aussi \l;Programmation\u cbot;, \l;types\u cbot\type; et \l;catégories\u cbot\category;. diff --git a/help/cbot/F/grab.txt b/help/cbot/F/grab.txt index 3d9a80f0..35a93184 100644 --- a/help/cbot/F/grab.txt +++ b/help/cbot/F/grab.txt @@ -26,8 +26,5 @@ Normalement, une erreur stoppe l'exécution du programme. Si l'instruction \c;gr \c;== 0 \n;objet pris \c;!= 0 \n;erreur, pas d'objet pris -\t;Dictionnaire anglais-français -\c;grab\n; = saisir - \t;Voir aussi \l;Programmation\u cbot;, \l;types\u cbot\type; et \l;catégories\u cbot\category;. diff --git a/help/cbot/F/if.txt b/help/cbot/F/if.txt index 15cb8f2f..8027de2f 100644 --- a/help/cbot/F/if.txt +++ b/help/cbot/F/if.txt @@ -36,9 +36,5 @@ La partie \c;else { }\n; est facultative. \t;Attention Il ne faut pas mettre un \l;point-virgule\u cbot\term; à la fin de la ligne \c;if ( )\n;. -\t;Dictionnaire anglais-français -\c;if \n; = si -\c;else\n; = autrement - \t;Voir aussi \l;Programmation\u cbot;, \l;types\u cbot\type; et \l;catégories\u cbot\category;. diff --git a/help/cbot/F/int.txt b/help/cbot/F/int.txt index 3906b45c..0724e48f 100644 --- a/help/cbot/F/int.txt +++ b/help/cbot/F/int.txt @@ -15,8 +15,5 @@ Sachez que ce type utilise 32 bits. La valeur maximale représentable est (2^31)-1, soit 2'147'483'647. La valeur minimale représentable est -(2^31), soit -2'147'483'648. -\t;Dictionnaire anglais-français -\c;integer\n; = nombre entier - \t;Voir aussi \l;Programmation\u cbot;, \l;types\u cbot\type; et \l;catégories\u cbot\category;. diff --git a/help/cbot/F/jet.txt b/help/cbot/F/jet.txt index 458451d8..185ee085 100644 --- a/help/cbot/F/jet.txt +++ b/help/cbot/F/jet.txt @@ -7,11 +7,9 @@ Commande directe du réacteur d'un \l;robot volant\u object\botgj;. \t;power: \c;\l;float\u cbot\float;\n; Puissance du réacteur, comprise entre \c;-1\n; et \c;1\n;. \c;jet(1);\n; fait monter le robot à la vitesse maximale, \c;jet(-1);\n; le fait descendre à la vitesse maximale, \c;jet(0);\n; lui fait garder son altitude actuelle. Pour obtenir des changements d'altitude plus doux, employez des valeurs intermédiaires, par exemple \c;jet(0.3);\n;. + \t;Valeur retournée: \c;\l;void\u cbot\void;\n; Aucune. -\t;Dictionnaire anglais-français -\c;jet\n; = avion à réaction - \t;Voir aussi \l;Programmation\u cbot;, \l;types\u cbot\type; et \l;catégories\u cbot\category;. diff --git a/help/cbot/F/message.txt b/help/cbot/F/message.txt index 13f3982a..d8590303 100644 --- a/help/cbot/F/message.txt +++ b/help/cbot/F/message.txt @@ -21,12 +21,5 @@ o \c;DisplayError \n; Erreur sur fond rouge. \t;Valeur retournée: \c;\l;void\u cbot\void;\n; Aucune. -\t;Dictionnaire anglais-français -\c;message \n; = message -\c;display \n; = affichage -\c;information\n; = information -\c;warning \n; = avertisseement -\c;error \n; = erreur - \t;Voir aussi \l;Programmation\u cbot;, \l;types\u cbot\type; et \l;catégories\u cbot\category;. diff --git a/help/cbot/F/motor.txt b/help/cbot/F/motor.txt index d81a4b18..b1a1e9aa 100644 --- a/help/cbot/F/motor.txt +++ b/help/cbot/F/motor.txt @@ -29,11 +29,12 @@ Exemples: \c;motor(-0.5, -0.5);\n; pour reculer à mi-vitesse. \c;motor(1, -1);\n; pour tourner à droite le plus vite possible. +Note : +\c;motor(2, 2);\n; will not move forward any faster than \c;motor(1, 1)\n; +\c;motor(-2, -2);\n; will not move backward any faster than \c;motor(-1, -1)\n; + \t;Valeur retournée: \c;\l;void\u cbot\void;\n; Aucune. -\t;Dictionnaire anglais-français -\c;motor\n; = moteur - \t;Voir aussi \l;Programmation\u cbot;, \l;types\u cbot\type; et \l;catégories\u cbot\category;. diff --git a/help/cbot/F/move.txt b/help/cbot/F/move.txt index 22d4a794..9c5292ab 100644 --- a/help/cbot/F/move.txt +++ b/help/cbot/F/move.txt @@ -18,8 +18,5 @@ Normalement, une erreur stoppe l'exécution du programme. Si l'instruction \c;mo \c;== 0 \n;déplacement effectué \c;!= 0 \n;déplacement impossible -\t;Dictionnaire anglais-français -\c;move\n; = déplacer - \t;Voir aussi \l;Programmation\u cbot;, \l;types\u cbot\type; et \l;catégories\u cbot\category;. diff --git a/help/cbot/F/new.txt b/help/cbot/F/new.txt index b2597113..6b19fd5f 100644 --- a/help/cbot/F/new.txt +++ b/help/cbot/F/new.txt @@ -4,15 +4,17 @@ Une instance de \l;classe\u cbot\class; peut être créée par l'opérateur \c;n \s; item = new MaClasse(); \n; Lorsque l'instance est créée en même temps que la déclaration, il est possible de simplifier l'écriture: -\c;\s; MaClasse item = new MaClasse(); -\s; MaClasse item(); // identique + +Instead of: +\c;\s; MyClass item = new MyClass(); +\n;you can write: +\c;\s; MyClass item(); \n; Si, par exemple, la classe contient un constructeur avec deux paramètres numériques, il est possible d'écrire: -\c;\s; MaClasse item = new MaClasse(2, 3); -\s; MaClasse item(2, 3); // identique +\c;\s; MyClass item = new MyClass(2, 3); +\n;or: +\c;\s; MyClass item(2, 3); \n; -\t;Dictionnaire anglais-français -\c;new\n; = nouveau \t;Voir aussi \l;Références\u cbot\pointer; diff --git a/help/cbot/F/object.txt b/help/cbot/F/object.txt index 434049e0..d2f96fb1 100644 --- a/help/cbot/F/object.txt +++ b/help/cbot/F/object.txt @@ -66,24 +66,5 @@ Le type \c;object\n; prend la valeur particulière \c;\l;null\u cbot\null;\n; lo \s; { \s; } \n; -Les informations \c;energyCell\n; et \c;load\n; sont spéciales: on y retrouve donc toutes les caractéristiques de l'objet de base, telles que \c;category\n;, \c;position\n;, etc. -Par exemple, \c;category\n; contient la catégorie du robot, alors que \c;energyCell.category\n; contient la catégorie de la pile du robot. -Pour connaître le niveau d'énergie d'un robot, il ne faut pas accéder à \c;energyLevel\n;, mais à \c;energyCell.energyLevel\n;. -\c; -\s; object a; -\s; a = radar(BotGrabberRoller); -\s; if ( a.load!= null ) // porte qq chose? -\s; { -\s; } -\s; if ( a.load.category == PowerCell ) // porte une pile? -\s; { -\s; } -\s; if ( a.energyCell.energyLevel < 0.2 ) // presque à plat? -\s; { -\s; } -\n; -\t;Dictionnaire anglais-français -\c;object\n; = objet - \t;Voir aussi \l;Programmation\u cbot;, \l;types\u cbot\type; et \l;catégories\u cbot\category;. diff --git a/help/cbot/F/open.txt b/help/cbot/F/open.txt index fcada31f..5987606e 100644 --- a/help/cbot/F/open.txt +++ b/help/cbot/F/open.txt @@ -13,12 +13,7 @@ Pour ouvrir un fichier, procédez comme suit: Le mode \c;"r"\n; permet d'ouvrir le fichier en lecture (read). Le mode \c;"w"\n; permet d'ouvrir le fichier en écriture (write). -\t;Dictionnaire anglais-français -\c;file \n; = fichier -\c;handle \n; = poignée, manipuler -\c;open \n; = ouvre -\c;close \n; = ferme -\c;writeln\n; = abréviation de "write line", écrit une ligne +Files can only be created and opened in the files/ folder which is located in the folder where Colobot has been installed. You cannot not create or open files that are located elsewhere than in the files/ folder. \t;Voir aussi \c;\l;file\u cbot\file;\n;, \c;\l;close\u cbot\close;\n;, \c;\l;readln\u cbot\readln;\n;, \c;\l;writeln\u cbot\writeln;\n; et \c;\l;eof\u cbot\eof;\n;. diff --git a/help/cbot/F/openfile.txt b/help/cbot/F/openfile.txt index a46117f9..7b1419b7 100644 --- a/help/cbot/F/openfile.txt +++ b/help/cbot/F/openfile.txt @@ -6,10 +6,6 @@ L'instruction \c;openfile();\n; ouvre un fichier de texte dans le dossier files/ Le mode \c;"r"\n; permet d'ouvrir le fichier en lecture (read). Le mode \c;"w"\n; permet d'ouvrir le fichier en écriture (write). -\t;Dictionnaire anglais-français -\c;file \n; = fichier -\c;handle\n; = poignée, manipuler -\c;open \n; = ouvre \t;Voir aussi \l;Programmation\u cbot;, \l;types\u cbot\type; et \l;catégories\u cbot\category;. diff --git a/help/cbot/F/point.txt b/help/cbot/F/point.txt index d8477723..8a4f8a08 100644 --- a/help/cbot/F/point.txt +++ b/help/cbot/F/point.txt @@ -31,8 +31,6 @@ Est équivalente à: \s; c.y = 7; \s; c.z = 0; \n; -\t;Dictionnaire anglais-français -\c;point\n; = point \t;Voir aussi \l;Programmation\u cbot;, \l;types\u cbot\type; et \l;catégories\u cbot\category;. diff --git a/help/cbot/F/pointer.txt b/help/cbot/F/pointer.txt index b7fe9f25..c9649197 100644 --- a/help/cbot/F/pointer.txt +++ b/help/cbot/F/pointer.txt @@ -1,6 +1,8 @@ \b;Les références (pour spécialistes) CBOT travaille avec des références aux instances de \l;classes\u cbot\class; et aux \l;tableaux\u cbot\array;. Une instance est un élément physique contenant les informations liées à la classe. On peut comparer cela à une petite valise avec des conteneurs correspondants à la description de la classe. A chaque fois que l'on a besoin d'une nouvelle valise pour y mettre quelque chose, il faut créer une nouvelle instance. Les références, quant à elles, peuvent être considérées comme les porteurs de ces valises, à cela prêt qu'il y a souvent plusieurs porteurs pour la même valise. Une référence \c;\l;null\u cbot\null;\n; ne référence rien; c'est comparable à un porteur sans valise. -Le fait qu'une instance à une classe soit créée automatiquement (\c;\l;new\u cbot\new;\n; sous-entendu) ne change pas ce concept. On peut donc copier une référence dans une autre et avoir plusieurs références vers une même instance: +Le fait qu'une instance à une classe soit créée automatiquement (\c;\l;new\u cbot\new;\n; sous-entendu) ne change pas ce concept. On peut donc copier une référence dans une autre et avoir plusieurs références vers une même instance. + +Exemples: \c;\s;{ \s; MaClasse item1(); // crée une instance \s; MaClasse item2; // crée une référence nulle @@ -10,19 +12,22 @@ Le fait qu'une instance à une classe soit créée automatiquement (\c;\l;new\u \s;} \n; En passage de paramètre, c'est toujours la référence qui est donnée à la \l;fonction\u cbot\function;: + \c;\s;void Test( MaClasse item ) \s;{ \s; item.a = 12; // modifie l'instance d'origine \s; item = new MaClasse(); // nouvelle instance locale \s; item.a = 33; // modifie l'instance locale \s;} -\n;Un appel à cette fonction va donner cela: +\n; +Un appel à cette fonction va donner cela: \c;\s;{ \s; MaClasse toto(); \s; Test(toto); \s; message(toto.a); // toto.a vaut 12 \s;} -\n;En effet, l'instance avec le résultat \c;33\n; n'était pointée que par \c;item\n; dans la fonction \c;Test\n;. A la sortie de \c;Test\n;, la référence \c;item\n; disparaît et l'instance qu'elle pointait n'a plus de raison d'être. +\n; +En effet, l'instance avec le résultat \c;33\n; n'était pointée que par \c;item\n; dans la fonction \c;Test\n;. A la sortie de \c;Test\n;, la référence \c;item\n; disparaît et l'instance qu'elle pointait n'a plus de raison d'être. Une \l;fonction\u cbot\function; peut rendre une instance en sortie. Pour cela, il faut la définir ainsi: \c;\s;MaClasse Test2( ) @@ -31,7 +36,8 @@ Une \l;fonction\u cbot\function; peut rendre une instance en sortie. Pour cela, \s; item.x = 33; \s; return item; \s;} -\n;L'appel à cette fonction se fait alors ainsi: +\n; +L'appel à cette fonction se fait alors ainsi: \c;\s;{ \s; MaClasse toto; \s; toto = Test2(); diff --git a/help/cbot/F/public.txt b/help/cbot/F/public.txt index ef2ddf98..4d8fdfeb 100644 --- a/help/cbot/F/public.txt +++ b/help/cbot/F/public.txt @@ -6,6 +6,7 @@ Cette instruction a deux rôles distincts: \b;Instruction \c;public\n; pour les fonctions La présence de ce mot rend la \l;fonction\u cbot\function; disponible partout dans la mission. Cette fonction peut alors être utilisée dans le programme d'un autre robot. + Par exemple, dans un premier robot: \c; \s;public void object::Segment(float dist, float angle) @@ -26,6 +27,7 @@ Et dans un autre robot: \s;} \n; Il ne peut y avoir qu'une seule fonction ayant le même nom, parmi tous les programmes des robots de la mission en cours. + Si le robot qui contenait la fonction déclarée \c;public\n; est détruit, les autres robots qui utilisent cette fonction sont stoppés sur une erreur! \b;Instruction \c;public\n; pour les classes diff --git a/help/cbot/F/readln.txt b/help/cbot/F/readln.txt index 30df8fd1..c3782757 100644 --- a/help/cbot/F/readln.txt +++ b/help/cbot/F/readln.txt @@ -15,12 +15,6 @@ Exemple: \s; if ( s == "abc" ) \s; ... \n; -\t;Dictionnaire anglais-français -\c;file \n; = fichier -\c;handle\n; = poignée, manipuler -\c;readln\n; = abréviation de "read line", lit une ligne -\c;string\n; = chaîne de caractères - \t;Voir aussi \c;\l;file\u cbot\file;\n;, \c;\l;open\u cbot\open;\n;, \c;\l;close\u cbot\close;\n;, \c;\l;writeln\u cbot\writeln;\n; et \c;\l;eof\u cbot\eof;\n;. \l;Programmation\u cbot;, \l;types\u cbot\type; et \l;catégories\u cbot\category;. diff --git a/help/cbot/F/receive.txt b/help/cbot/F/receive.txt index 77038fec..b1ce6d58 100644 --- a/help/cbot/F/receive.txt +++ b/help/cbot/F/receive.txt @@ -13,11 +13,6 @@ Puissance du récepteur, qui correspond à la distance maximale jusqu'où peut \t;Valeur retournée: \c;\l;float\u cbot\float;\n; Valeur de l'information lue. Si aucune borne d'informations n'est à proximité, ou si le nom de l'information à lire n'existe pas dans la borne, la valeur \c;nan\n; est retournée. -\t;Dictionnaire anglais-français -\c;receive\n; = recevoir -\c;name \n; = nom -\c;power \n; = puissance - \t;Voir aussi \c;\l;send\u cbot\send;\n;, \c;\l;testinfo\u cbot\testinfo;\n; et \c;\l;deleteinfo\u cbot\delinfo;\n;. \l;Programmation\u cbot;, \l;types\u cbot\type; et \l;catégories\u cbot\category;. diff --git a/help/cbot/F/recycle.txt b/help/cbot/F/recycle.txt index 1ed05ff2..a442b17c 100644 --- a/help/cbot/F/recycle.txt +++ b/help/cbot/F/recycle.txt @@ -9,8 +9,5 @@ Zéro si tout est ok, ou valeur non nulle si une erreur est intervenue. \c;== 0 \n;épave recyclée \c;!= 0 \n;recyclage impossible -\t;Dictionnaire anglais-français -\c;recycle\n; = recycler - \t;Voir aussi \l;Programmation\u cbot;, \l;types\u cbot\type; et \l;catégories\u cbot\category;. diff --git a/help/cbot/F/return.txt b/help/cbot/F/return.txt index 5b618336..c5737530 100644 --- a/help/cbot/F/return.txt +++ b/help/cbot/F/return.txt @@ -1,12 +1,10 @@ \b;Instruction \c;return\n; -Syntaxe: +Cette instruction permet de sortir immédiatement d'une \l;fonction\u cbot\function;. Syntaxe: \s;\c;void fonction ( ) \s;{ \s; return; \s;} \n; -Cette instruction permet de sortir immédiatement d'une \l;fonction\u cbot\function;. - \b;Pour spécialistes Lorsqu'une \l;fonction\u cbot\function; rend un résultat, \c;return\n; doit être suivi de la valeur à retourner: \c; @@ -27,8 +25,5 @@ Lorsqu'une \l;fonction\u cbot\function; rend un résultat, \c;return\n; doit êt \s; return "nul"; \s;} \n; -\t;Dictionnaire anglais-français -\c;return\n; = retour - \t;Voir aussi \l;Programmation\u cbot;, \l;types\u cbot\type; et \l;catégories\u cbot\category;. diff --git a/help/cbot/F/search.txt b/help/cbot/F/search.txt index 2ae91827..148f4e62 100644 --- a/help/cbot/F/search.txt +++ b/help/cbot/F/search.txt @@ -13,8 +13,5 @@ Position à partir de laquelle s'effectue la recherche. \t;Valeur retournée: \c;\l;object\u cbot\object;\n; Objet trouvé. La valeur \c;\l;null\u cbot\null;\n; indique que rien n'a été trouvé. -\t;Dictionnaire anglais-français -\c;search\n; = chercher - \t;Voir aussi \l;Programmation\u cbot;, \l;types\u cbot\type; et \l;catégories\u cbot\category;. diff --git a/help/cbot/F/send.txt b/help/cbot/F/send.txt index 8a88297a..c8c0b169 100644 --- a/help/cbot/F/send.txt +++ b/help/cbot/F/send.txt @@ -14,12 +14,6 @@ Valeur de l'information à envoyer. \t;power: \c;float\n; Puissance de l'émetteur, qui correspond à la distance maximale jusqu'où peut être la borne. La valeur par défaut est de 10 mètres. -\t;Dictionnaire anglais-français -\c;receive\n; = recevoir -\c;name \n; = nom -\c;value \n; = valeur -\c;power \n; = puissance - \t;Voir aussi \c;\l;receive\u cbot\receive;\n;, \c;\l;testinfo\u cbot\testinfo;\n; et \c;\l;deleteinfo\u cbot\delinfo;\n;. \l;Programmation\u cbot;, \l;types\u cbot\type; et \l;catégories\u cbot\category;. diff --git a/help/cbot/F/shield.txt b/help/cbot/F/shield.txt index 3cdfee8e..0dd2e847 100644 --- a/help/cbot/F/shield.txt +++ b/help/cbot/F/shield.txt @@ -15,8 +15,5 @@ Rayon du bouclier, compris entre 10 et 25 mètres. \t;Valeur retournée: \c;\l;void\u cbot\void;\n; Aucune. -\t;Dictionnaire anglais-français -\c;shield\n; = bouclier - \t;Voir aussi \l;Programmation\u cbot;, \l;types\u cbot\type; et \l;catégories\u cbot\category;. diff --git a/help/cbot/F/sizeof.txt b/help/cbot/F/sizeof.txt index f31097d0..fe27c02f 100644 --- a/help/cbot/F/sizeof.txt +++ b/help/cbot/F/sizeof.txt @@ -1,5 +1,6 @@ \b;Instruction \c;sizeof\n; -L'instruction \c;sizeof(array)\n; permet de connaître le nombre d'éléments contenus dans un \l;tableau\u cbot\array;. En fait, c'est le dernier élément existant plus 1 (les cases "vides" sont comptées). +L'instruction \c;sizeof(array)\n; permet de connaître le nombre d'éléments contenus dans un \l;tableau\u cbot\array;. +En fait, c'est le dernier élément existant plus 1 (les cases "vides" sont comptées). \c; \s;{ \s; int a[12]; @@ -17,9 +18,5 @@ Avec un tableau à plusieurs dimensions, il est possible d'obtenir n'importe que \s;message( sizeof(xy[5]) ); // affiche 11 \s; \n; -\t;Dictionnaire anglais-français -\c;array \n; = tableau -\c;sizeof\n; = taille de - \t;Voir aussi \l;Programmation\u cbot;, \l;types\u cbot\type; et \l;catégories\u cbot\category;. diff --git a/help/cbot/F/sniff.txt b/help/cbot/F/sniff.txt index d73ff8dd..35db7082 100644 --- a/help/cbot/F/sniff.txt +++ b/help/cbot/F/sniff.txt @@ -13,8 +13,5 @@ Zéro si tout est ok, ou valeur non nulle si une erreur est intervenue. \c;== 0 \n;sondage effectué \c;!= 0 \n;sondage impossible -\t;Dictionnaire anglais-français -\c;sniff\n; = renifler - \t;Voir aussi \l;Programmation\u cbot;, \l;types\u cbot\type; et \l;catégories\u cbot\category;. diff --git a/help/cbot/F/space.txt b/help/cbot/F/space.txt index 6aa1c379..355f01ca 100644 --- a/help/cbot/F/space.txt +++ b/help/cbot/F/space.txt @@ -19,9 +19,5 @@ Distance requise entre deux emplacements libres. \t;Valeur retournée: \c;\l;point\u cbot\point;\n; Position libre. -\t;Dictionnaire anglais-français -\c;space \n; = espace -\c;center\n; = centre - \t;Voir aussi \l;Programmation\u cbot;, \l;types\u cbot\type; et \l;catégories\u cbot\category;. diff --git a/help/cbot/F/strfind.txt b/help/cbot/F/strfind.txt index 13842429..6ebec63c 100644 --- a/help/cbot/F/strfind.txt +++ b/help/cbot/F/strfind.txt @@ -15,10 +15,6 @@ Exemples: \s; int pos = strfind("abcdef", "de"); // pos vaut 3 \s; int pos = strfind("abcdef", "xy"); // pos vaut \l;nan\u cbot\nan; \n; -\t;Dictionnaire anglais-français -\c;string\n; = chaîne de caractères -\c;find \n; = trouve - \t;Voir aussi \c;\l;strlen\u cbot\strlen;\n;, \c;\l;strleft\u cbot\strleft;\n;, \c;\l;strright\u cbot\strright;\n;, \c;\l;strmid\u cbot\strmid;\n;, \c;\l;strval\u cbot\strval;\n;, \c;\l;strupper\u cbot\strupper;\n;, \c;\l;strlower\u cbot\strlower;\n; \l;Programmation\u cbot;, \l;types\u cbot\type; et \l;catégories\u cbot\category;. diff --git a/help/cbot/F/string.txt b/help/cbot/F/string.txt index 7e858c4b..f5d9a031 100644 --- a/help/cbot/F/string.txt +++ b/help/cbot/F/string.txt @@ -1,5 +1,7 @@ \b;Type \c;string\n; -Ce type permet de représenter une chaîne de caractères, qui contiendra quelques caractères, ou toute une phrase. Par exemple: +Ce type permet de représenter une chaîne de caractères, qui contiendra quelques caractères, ou toute une phrase. + +Par exemple: \s;\c;"bonjour" \s;"c'est une chaîne" \s;"x" @@ -12,8 +14,10 @@ Donne la chaîne: \s;\c;"bonjour Monsieur" \n; Pour mettre un guillemet ou un slash inversé dans une chaîne, il faut écrire: -\s;\c;"C'est \"très\" important" \n;donne\c; C'est "très" important -\s;"%user%\\ant.txt" \n;donne\c; %user%\ant.txt +\s;\c;"This is \"very\" important" +\n;which will result in the string \c; This is "very" important. +\s;\c;"%user%\\ant.txt" +\n;will result in \c;%user%\ant.txt \n; Les instructions suivantes sont utiles pour gérer les chaînes de caractères: \c;\l;strlen\u cbot\strlen; \n;Longueur d'une chaîne. diff --git a/help/cbot/F/strleft.txt b/help/cbot/F/strleft.txt index 390c53cf..709ee14f 100644 --- a/help/cbot/F/strleft.txt +++ b/help/cbot/F/strleft.txt @@ -11,11 +11,6 @@ Exemples: \s;\c; string s = strleft("abcdef", 2); // s vaut "ab" \s; string s = strleft("abc", 10); // s vaut "abc" \n; -\t;Dictionnaire anglais-français -\c;string\n; = chaîne de caractères -\c;left \n; = gauche -\c;length\n; = longueur - \t;Voir aussi \c;\l;strlen\u cbot\strlen;\n;, \c;\l;strright\u cbot\strright;\n;, \c;\l;strmid\u cbot\strmid;\n;, \c;\l;strfind\u cbot\strfind;\n;, \c;\l;strval\u cbot\strval;\n;, \c;\l;strupper\u cbot\strupper;\n;, \c;\l;strlower\u cbot\strlower;\n; \l;Programmation\u cbot;, \l;types\u cbot\type; et \l;catégories\u cbot\category;. diff --git a/help/cbot/F/strlen.txt b/help/cbot/F/strlen.txt index 589f3243..d262d75a 100644 --- a/help/cbot/F/strlen.txt +++ b/help/cbot/F/strlen.txt @@ -9,10 +9,6 @@ Exemples: \s; int len = strlen(""); // len vaut 0 \s; if ( strlen(s) == 0 ) // chaîne s vide ? \n; -\t;Dictionnaire anglais-français -\c;string\n; = chaîne de caractères -\c;length\n; = longueur - \t;Voir aussi \c;\l;strleft\u cbot\strleft;\n;, \c;\l;strright\u cbot\strright;\n;, \c;\l;strmid\u cbot\strmid;\n;, \c;\l;strfind\u cbot\strfind;\n;, \c;\l;strval\u cbot\strval;\n;, \c;\l;strupper\u cbot\strupper;\n;, \c;\l;strlower\u cbot\strlower;\n; \l;Programmation\u cbot;, \l;types\u cbot\type; et \l;catégories\u cbot\category;. diff --git a/help/cbot/F/strlower.txt b/help/cbot/F/strlower.txt index cd0bc110..23e7ede4 100644 --- a/help/cbot/F/strlower.txt +++ b/help/cbot/F/strlower.txt @@ -7,10 +7,6 @@ Syntaxe: Exemples: \s;\c; string s = strlower("Abc"); // s vaut "abc" \n; -\t;Dictionnaire anglais-français -\c;string\n; = chaîne de caractères -\c;lower \n; = minuscules - \t;Voir aussi \c;\l;strlen\u cbot\strlen;\n;, \c;\l;strleft\u cbot\strleft;\n;, \c;\l;strright\u cbot\strright;\n;, \c;\l;strmid\u cbot\strmid;\n;, \c;\l;strfind\u cbot\strfind;\n;, \c;\l;strval\u cbot\strval;\n;, \c;\l;strupper\u cbot\strupper;\n; \l;Programmation\u cbot;, \l;types\u cbot\type; et \l;catégories\u cbot\category;. diff --git a/help/cbot/F/strmid.txt b/help/cbot/F/strmid.txt index f37ab07d..b94679e2 100644 --- a/help/cbot/F/strmid.txt +++ b/help/cbot/F/strmid.txt @@ -15,11 +15,6 @@ Exemples: \s; string s = strmid("abcdef", 4, 5); // s vaut "ef" \s; string s = strmid("abcdef", 9, 2); // s vaut "" \n; -\t;Dictionnaire anglais-français -\c;string\n; = chaîne de caractères -\c;middle\n; = milieu -\c;length\n; = longueur - \t;Voir aussi \c;\l;strlen\u cbot\strlen;\n;, \c;\l;strleft\u cbot\strleft;\n;, \c;\l;strright\u cbot\strright;\n;, \c;\l;strfind\u cbot\strfind;\n;, \c;\l;strval\u cbot\strval;\n;, \c;\l;strupper\u cbot\strupper;\n;, \c;\l;strlower\u cbot\strlower;\n; \l;Programmation\u cbot;, \l;types\u cbot\type; et \l;catégories\u cbot\category;. diff --git a/help/cbot/F/strright.txt b/help/cbot/F/strright.txt index 3a6df3a0..72ea0382 100644 --- a/help/cbot/F/strright.txt +++ b/help/cbot/F/strright.txt @@ -11,11 +11,6 @@ Exemples: \s;\c; string s = strright("abcdef", 2); // s vaut "ef" \s; string s = strright("abc", 10); // s vaut "abc" \n; -\t;Dictionnaire anglais-français -\c;string\n; = chaîne de caractères -\c;right \n; = droite -\c;length\n; = longueur - \t;Voir aussi \c;\l;strlen\u cbot\strlen;\n;, \c;\l;strleft\u cbot\strleft;\n;, \c;\l;strmid\u cbot\strmid;\n;, \c;\l;strfind\u cbot\strfind;\n;, \c;\l;strval\u cbot\strval;\n;, \c;\l;strupper\u cbot\strupper;\n;, \c;\l;strlower\u cbot\strlower;\n; \l;Programmation\u cbot;, \l;types\u cbot\type; et \l;catégories\u cbot\category;. diff --git a/help/cbot/F/strupper.txt b/help/cbot/F/strupper.txt index 42b5cd0e..eba063b3 100644 --- a/help/cbot/F/strupper.txt +++ b/help/cbot/F/strupper.txt @@ -7,10 +7,6 @@ Syntaxe: Exemples: \s;\c; string s = strupper("Abc"); // s vaut "ABC" \n; -\t;Dictionnaire anglais-français -\c;string\n; = chaîne de caractères -\c;upper \n; = majuscule - \t;Voir aussi \c;\l;strlen\u cbot\strlen;\n;, \c;\l;strleft\u cbot\strleft;\n;, \c;\l;strright\u cbot\strright;\n;, \c;\l;strmid\u cbot\strmid;\n;, \c;\l;strfind\u cbot\strfind;\n;, \c;\l;strval\u cbot\strval;\n;, \c;\l;strlower\u cbot\strlower;\n; \l;Programmation\u cbot;, \l;types\u cbot\type; et \l;catégories\u cbot\category;. diff --git a/help/cbot/F/strval.txt b/help/cbot/F/strval.txt index ecd09f7a..e64f8703 100644 --- a/help/cbot/F/strval.txt +++ b/help/cbot/F/strval.txt @@ -1,5 +1,6 @@ \b;Instruction \c;strval\n; Cette instruction convertit une chaîne représentant un nombre en un nombre. Il ne faut pas confondre la chaîne \c;"45"\n; qui contient les deux caractères \c;4\n; et \c;5\n; et le nombre \c;45\n;. + Exemples: \s;\c; string s = "45"+"12"; // s vaut "4512" \s; float n = 45 + 12; // n vaut 67 @@ -13,9 +14,6 @@ Exemples: \s; float n = strval("abc"); // n vaut 0 \s; float n = strval("100")+2; // n vaut 102 \n; -\t;Dictionnaire anglais-français -\c;string\n; = chaîne de caractères - \t;Voir aussi \c;\l;strlen\u cbot\strlen;\n;, \c;\l;strleft\u cbot\strleft;\n;, \c;\l;strright\u cbot\strright;\n;, \c;\l;strmid\u cbot\strmid;\n;, \c;\l;strfind\u cbot\strfind;\n;, \c;\l;strupper\u cbot\strupper;\n;, \c;\l;strlower\u cbot\strlower;\n; \l;Programmation\u cbot;, \l;types\u cbot\type; et \l;catégories\u cbot\category;. diff --git a/help/cbot/F/synchro.txt b/help/cbot/F/synchro.txt index ab42ada8..75e8d9be 100644 --- a/help/cbot/F/synchro.txt +++ b/help/cbot/F/synchro.txt @@ -1,5 +1,7 @@ \b;Instruction \c;synchronized\n; (pour spécialistes) -Les méthodes d'une \l;classe\u cbot\class; peuvent être déclarées \c;synchronized\n;. Dans ce cas, on assure que deux exécutions de ces méthodes ne peuvent pas être simultanées. Considérez par exemple, la classe absurde suivante: +Les méthodes d'une \l;classe\u cbot\class; peuvent être déclarées \c;synchronized\n;. Dans ce cas, on assure que deux exécutions de ces méthodes ne peuvent pas être simultanées. + +Considérez par exemple, la classe absurde suivante: \c; \s;public class bloquage \s;{ @@ -18,6 +20,8 @@ Tous les deux vont faire \c;val=nb\n; avant d'attendre 2 secondes, donc les deux Puis tous les deux vont incrémenter \c;nb\n;, qui va passer à \c;35\n;. Avec \c;synchronized\n;, le premier des robots va commencer l'exécution avec \c;val=33\n;, et attendre les 2 secondes, alors que le second robot va attendre. Lorsque le premier robot va poursuivre, mettre \c;nb=34\n; et quitter en rendant la valeur \c;33\n;, alors seulement le second robot va pouvoir commencer la fonction avec \c;val=34\n;. +You can have more than one synchronized method in your \l;class\u cbot\class; in order to prevent simultaneous execution across more than one method. In other words: as long as a bot's program is inside a synchronized method, no other bot can enter any synchronized method of the same class. + \t;Voir aussi \c;\l;class\u cbot\class;\n;, \c;\l;static\u cbot\static;\n; \l;Programmation\u cbot;, \l;types\u cbot\type; et \l;catégories\u cbot\category;. diff --git a/help/cbot/F/testinfo.txt b/help/cbot/F/testinfo.txt index 1a04f28b..589b8c79 100644 --- a/help/cbot/F/testinfo.txt +++ b/help/cbot/F/testinfo.txt @@ -13,10 +13,6 @@ Puissance de l'émetteur, qui correspond à la distance maximale jusqu'où peut \t;Valeur retournée: \c;\l;bool\u cbot\bool;\n; Retourne \c;true\n; si l'information et \c;false\n; dans le cas contraire. -\t;Dictionnaire anglais-français -\c;name \n; = nom -\c;power\n; = puissance - \t;Voir aussi \c;\l;receive\u cbot\receive;\n;, \c;\l;send\u cbot\send;\n; et \c;\l;deleteinfo\u cbot\delinfo;\n;. \l;Programmation\u cbot;, \l;types\u cbot\type; et \l;catégories\u cbot\category;. diff --git a/help/cbot/F/this.txt b/help/cbot/F/this.txt index 8f9827ff..917c73c0 100644 --- a/help/cbot/F/this.txt +++ b/help/cbot/F/this.txt @@ -48,8 +48,5 @@ Il est cependant nécessaire d'utiliser \c;this\n; lorsque le nom d'un champ est \s; } \s;} \n; -\t;Dictionnaire anglais-français -\c;this\n; = ce - \t;Voir aussi \l;Programmation\u cbot;, \l;types\u cbot\type; et \l;catégories\u cbot\category;. diff --git a/help/cbot/F/thump.txt b/help/cbot/F/thump.txt index 7aa68ba5..07ce7539 100644 --- a/help/cbot/F/thump.txt +++ b/help/cbot/F/thump.txt @@ -9,8 +9,5 @@ Zéro si tout est ok, ou valeur non nulle si une erreur est intervenue. \c;== 0 \n;terrain applani \c;!= 0 \n;opération impossible -\t;Dictionnaire anglais-français -\c;thump\n; = marteler - \t;Voir aussi \l;Programmation\u cbot;, \l;types\u cbot\type; et \l;catégories\u cbot\category;. diff --git a/help/cbot/F/true.txt b/help/cbot/F/true.txt index ce09599e..490d33fc 100644 --- a/help/cbot/F/true.txt +++ b/help/cbot/F/true.txt @@ -1,8 +1,5 @@ \b;Type \c;true\n; Cette valeur signifie "vrai" pour une \l;variable\u cbot\var; \l;booléenne\u cbot\bool;. -\t;Dictionnaire anglais-français -\c;true\n; = vrai - \t;Voir aussi \l;Programmation\u cbot;, \l;types\u cbot\type; et \l;catégories\u cbot\category;. diff --git a/help/cbot/F/turn.txt b/help/cbot/F/turn.txt index 7fadf5f6..3dc8a026 100644 --- a/help/cbot/F/turn.txt +++ b/help/cbot/F/turn.txt @@ -29,8 +29,5 @@ Zéro si tout est ok, ou valeur non nulle si une erreur est intervenue. \c;== 0 \n;rotation effectuée \c;!= 0 \n;rotation impossible -\t;Dictionnaire anglais-français -\c;turn\n; = tourner - \t;Voir aussi \l;Programmation\u cbot;, \l;types\u cbot\type; et \l;catégories\u cbot\category;. diff --git a/help/cbot/F/type.txt b/help/cbot/F/type.txt index 1dbababa..84a74b9d 100644 --- a/help/cbot/F/type.txt +++ b/help/cbot/F/type.txt @@ -1,9 +1,10 @@ \b;Les types des variables - Une \l;variable\u cbot\var; est décrite par trois éléments: + 1) Un nom. 2) Le type du contenu. -3) Le contenu. + +Once you defined a variable, you can use it to put information in it. However, the information that a variable can contain must always be of the correct type: a variable of type \l;float\u cbot\float; can not contain a string, etc. Dans un programme, un nom de type est toujours \type;colorié en vert\norm;. Si un type n'est pas colorié, c'est que son nom est mal orthographié. Il faut par exemple frapper tout le nom en minuscules. Voici les différents types possibles: @@ -25,9 +26,6 @@ Pour une coordonnée dans l'espace x,y,z. \s;\c;\l;object\u cbot\object;\n; Pour décrire un objet (robot, bâtiment, etc.). -\s;\c;\l;file\u cbot\file;\n; -Pour décrire un fichier de texte. - \s;\c;\l;void\u cbot\void;\n; Pour indiquer "rien". diff --git a/help/cbot/F/var.txt b/help/cbot/F/var.txt index a5caef14..dced70ff 100644 --- a/help/cbot/F/var.txt +++ b/help/cbot/F/var.txt @@ -1,5 +1,6 @@ \b;Les variables Une variable est un nom qui repère un emplacement en mémoire, dont on peut faire évoluer la valeur durant l'exécution du programme. + Par exemple, pour compter le nombre d'\l;ennemis\u object\mother; présents, vous pouvez déclarer une variable \c;compteur\n; et l'initialiser à zéro. Chaque fois que vous rencontrez un ennemi, vous ajoutez 1 à la variable \c;compteur\n;. Lorsque vous aurez fini de balayer une zone donnée, la variable contiendra le nombre d'ennemis présents dans cette zone. La déclaration de la variable \c;compteur\n; s'écrit avec: @@ -15,16 +16,11 @@ Notez bien que le nom \c;compteur\n; n'est qu'un exemple. Vous avez pratiquement Le nom doit commencer par une lettre. Il peut contenir ensuite des lettres ou des chiffres, ainsi que le caractère souligné. De plus, vous ne pouvez pas utiliser les mots-clés réservés du langage, tels que \c;\l;for\u cbot\for;\n;, \c;\l;while\u cbot\while;\n;, \c;\l;break\u cbot\break;\n;, \c;\l;continue\u cbot\continue;\n;, \c;do\n;, etc. On utilise parfois des noms anglais, parfois des noms français, parfois des abréviations, cela n'a pas d'importance. Ce qu'il faut, c'est que le nom exprime clairement à quoi sert la variable. \c;Bmo45\n;, \c;a\n;, \c;tgbin\n; ne sont pas des très bons exemples, mais c'est à vous de choisir! -L'exemple ci-dessus peut très bien s'écrire: -\c;\s; int n; -\s; n = 0; -\s; \n;...\c; -\s; n = n+1; -\n; -Le mot-clé \c;int\n; indique que la variable contient un nombre entier, ce qui est approprié pour un compteur. Pour mesurer une distance, il sera préférable d'utiliser un nombre réel (fractionnaire), qui s'écrit \c;float\n;. +In the example above, the keyword \c;int\n; indicates that this variable can contain only whole numbers, which is adequate to counting objects. If you want to measure a distance, better use a variable that can contain also real numbers, with a fractional part (like 3.45 or 0.034): in this case, use the type \c;float\n;. + En fait, une variable est décrite par trois éléments: -1) Son nom. -2) Le type du contenu. +1) Son nom, +2) Le type du contenu, 3) Le contenu. \t;Le nom @@ -50,9 +46,6 @@ Lorsqu'une variable est déclarée, elle n'a encore aucune valeur. Avant de l'ut Notez que vous pouvez très bien déclarer une variable et l'initialiser directement avec: \c;\s; int i=0; \n; -Ou même: -\c;\s; int i=0, j=12, compteur=100; -\n; Notez que l'assignation \c;=\n; copie la valeur de l'\l;expression\u cbot\expr; de droite dans la variable de gauche. Soit l'exemple suivant: \c;\s; int i, j; \s; i = 5+2; // i prend la valeur 7 diff --git a/help/cbot/F/void.txt b/help/cbot/F/void.txt index a15c0cbd..8cd0c1b7 100644 --- a/help/cbot/F/void.txt +++ b/help/cbot/F/void.txt @@ -1,8 +1,11 @@ \b;Type \c;void\n; Ce type particulier signifie qu'il n'y a rien. -\t;Dictionnaire anglais-français -\c;void\n; = nul - +Exemples: +\c;\s;void MyFunction(int a) +\s;{ +\s; ... +\s;} +\n; \t;Voir aussi \l;Programmation\u cbot;, \l;types\u cbot\type; et \l;catégories\u cbot\category;. diff --git a/help/cbot/F/wait.txt b/help/cbot/F/wait.txt index 02303537..ccac004b 100644 --- a/help/cbot/F/wait.txt +++ b/help/cbot/F/wait.txt @@ -18,8 +18,5 @@ Durée à attendre, en secondes. \t;Valeur retournée: \c;\l;void\u cbot\void;\n; Aucune. -\t;Dictionnaire anglais-français -\c;wait\n; = attendre - \t;Voir aussi \l;Programmation\u cbot;, \l;types\u cbot\type; et \l;catégories\u cbot\category;. diff --git a/help/cbot/F/while.txt b/help/cbot/F/while.txt index 662bf3f8..78441858 100644 --- a/help/cbot/F/while.txt +++ b/help/cbot/F/while.txt @@ -2,7 +2,10 @@ L'instruction \c;while () {}\n; permet de répéter des instructions plusieurs fois. \b;Utilisation courante -L'utilisation la plus courante de \c;while\n; consiste à répéter des instructions encore et encore, à l'infini. Pour ce faire, on écrit \c;while (true) {}\n; et on met les instructions à répéter entre les accolades \c;{}\n;. Voici comment répéter le fait de chercher une araignée, de se tourner vers elle et de tirer: +L'utilisation la plus courante de \c;while\n; consiste à répéter des instructions encore et encore, à l'infini. Pour ce faire, on écrit \c;while (true) {}\n; et on met les instructions à répéter entre les accolades \c;{}\n;. As an example, here is a program that repeats again and again the following actions: +o look for a spider, +o turn towards it, +o shoot. \c; \s; while (true) \s; { @@ -21,6 +24,7 @@ Syntaxe: \s;} \n; Cette structure de boucle permet d'exécuter plusieurs fois les instructions comprises dans le \l;bloc\u cbot\bloc;. + Attention de ne pas confondre \c;while( ) { }\n; avec \c;\l;do\u cbot\do; { } while( );\n;, qui n'effectue le test qu'après le premier tour de boucle. \t;\c;condition\n; @@ -39,8 +43,5 @@ Il ne faut pas mettre un \l;point-virgule\u cbot\term; à la fin de la ligne \c; Les instructions \c;\l;break\u cbot\break;\n; et \c;\l;continue\u cbot\continue;\n; sont utiles à l'intérieur d'un bloc \c;while { }\n;. -\t;Dictionnaire anglais-français -\c;while\n; = tant que - \t;Voir aussi \l;Programmation\u cbot;, \l;types\u cbot\type; et \l;catégories\u cbot\category;. diff --git a/help/cbot/F/writeln.txt b/help/cbot/F/writeln.txt index c1c2d5bf..9f3792f1 100644 --- a/help/cbot/F/writeln.txt +++ b/help/cbot/F/writeln.txt @@ -16,12 +16,6 @@ Exemples: \s; string s2 = "def"; \s; writeln(s1 + " " + s2); \n; -\t;Dictionnaire anglais-français -\c;file \n; = fichier -\c;handle \n; = poignée, manipuler -\c;writeln\n; = abréviation de "write line", écrit une ligne -\c;string \n; = chaîne de caractères - \t;Voir aussi \c;\l;file\u cbot\file;\n;, \c;\l;open\u cbot\open;\n;, \c;\l;close\u cbot\close;\n;, \c;\l;readln\u cbot\readln;\n; et \c;\l;eof\u cbot\eof;\n;. \l;Programmation\u cbot;, \l;types\u cbot\type; et \l;catégories\u cbot\category;. diff --git a/help/cbot/P/break.txt b/help/cbot/P/break.txt index 75c7c92c..24d3e218 100644 --- a/help/cbot/P/break.txt +++ b/help/cbot/P/break.txt @@ -19,7 +19,7 @@ Oto przykład: \s; } \s; \n;więcej instrukcji ...\c; \s;} -\n; +\n; \t;Zobacz również \l;Programowanie\u cbot;, \l;typy\u cbot\type; i \l;kategorie\u cbot\category;. diff --git a/help/cbot/P/object.txt b/help/cbot/P/object.txt index d7ce05e3..8c19e71a 100644 --- a/help/cbot/P/object.txt +++ b/help/cbot/P/object.txt @@ -64,7 +64,7 @@ Typ \c;object\n; zwraca specjalną wartość \c;\l;null\u cbot\null;\n; gdy obie \s; if ( a.position.z > 50 ) // czy jest na górze? \s; { \s; } -\n; +\n; \t;Zobacz również \l;Programowanie\u cbot;, \l;typy\u cbot\type; i \l;kategorie\u cbot\category;. diff --git a/help/cbot/P/shield.txt b/help/cbot/P/shield.txt index 972a6f96..135d4801 100644 --- a/help/cbot/P/shield.txt +++ b/help/cbot/P/shield.txt @@ -1,6 +1,6 @@ \b;Instrukcja \c;shield\n; Składnia: -\s;\c;shield ( oper );\n; +\s;\c;shield ( oper, promień );\n; Aktywuje lub dezaktywuje osłonę robota \l;osłaniacza\u object\botshld;. Oczywiście można poruszać robotem przy aktywnej osłonie. Zabezpiecza ona wszystkie obiekty znajdujące się wewnątrz strefy przed atakami wroga. Promień sfery może się zawierać pomiędzy 10 a 25 metrami. diff --git a/help/cbot/P/var.txt b/help/cbot/P/var.txt index ebfc5b03..7b5154f4 100644 --- a/help/cbot/P/var.txt +++ b/help/cbot/P/var.txt @@ -19,9 +19,9 @@ Należy być ostrożnym w wyborze nazw przydzielanych zmiennym; pisanie programu W powyższym przykładzie, słowo \c;int\n; określa, że zmienna może zawierać tylko liczby całkowite, odpowiednie do liczenia obiektów. Do mierzenia odległości lepiej jest użyć zmiennej, która może również zawierać liczby rzeczywiste z częścią ułamkową (takie jak 3.45 lub 0.034): w tym przypadku odpowiedniejszy jest typ \c;float\n;. Zmienna składa się z trzech części: -1) nazwy -2) typu informacji przez nią przechowywanych -3) zawartości, czyli samej informacji +1) nazwy, +2) typu informacji przez nią przechowywanych, +3) zawartości, czyli samej informacji. \t;nazwa Jest niezbędna do rozróżniania zmiennych pomiędzy sobą. @@ -45,7 +45,7 @@ Po zadeklarowaniu zmiennej nie zawiera ona żadnej wartości. Zanim będzie moż \n; Możliwe jest zadeklarowanie zmiennej i przypisanie jej wartości w tym samym wierszu: \c;\s; int liczTyt = 0; -\n; +\n; Przy wykonywaniu przypisania wartości zmiennej przy użyciu znaku równości\c;=\n;, wartość z prawej strony jest kopiowana do wartości po lewej stronie. Rozważmy następujący przykład: \c;\s; int i, j; \s; i = 5+2; // i przyjmuje wartość 7 diff --git a/help/cbot/P/void.txt b/help/cbot/P/void.txt index acf3d0dd..579d0f6e 100644 --- a/help/cbot/P/void.txt +++ b/help/cbot/P/void.txt @@ -6,6 +6,6 @@ Przykład: \s;{ \s; ... \s;} -\n +\n; \t;Zobacz również \l;Programowanie\u cbot;, \l;typy\u cbot\type; i \l;kategorie\u cbot\category;. diff --git a/help/cbot/R/expr.txt b/help/cbot/R/expr.txt index e11d1595..0b6f4bc4 100644 --- a/help/cbot/R/expr.txt +++ b/help/cbot/R/expr.txt @@ -47,5 +47,42 @@ Углы отображаются в градусах. +\t;Compound assignment operators (for specialists) +Besides the \c;=\n; operators for variable assignment there are several compound-assignment operators. + +The compound-assignment operators combine the \c;=\n; assignment operator with another binary operator such as \c;+\n; or \c;-\n;. Compound-assignment operators perform the operation specified by the additional operator and then assign the result to the left operand. For example, a compound-assignment expression such as + +\c;\s;expression1 += expression2 + +is equivalent to + +\c;\s;expression1 = expression1 + expression2 + +\c;+=\n; addition +\c;-=\n; subtraction +\c;*=\n; multiplication +\c;/=\n; division +\c;%=\n; remainder of the division (only for the type \c;\l;int\u cbot\int;\n;) + +\t;Prefix and posfix increment- and decrement operators (for specialists) +The operators \c;++\n; and \c;--\n; allow you to increment (++) or to decrement (--) a variable in very compact and efficient manner. + +For example to increment the variable \c;a\n; you can write +\c;\s; a++ ; +\n;instead of +\c;\s; a = a + 1 ; +\n; +The value of the expression \c;a++\n; is the value of the variable \c;a\n; before the increment. If you use the prefix operator \c;++a\n; the value of the expression is the value of the variable \c;a\n; after the increment. The same holds for the \c;--\n; decrement operator. + +Examples: +\c;\s; a = 2 ; +\s; b = a++ ; +\s; // now b contains 2 and a contains 3 + +\c;\s; a = 2 ; +\s; b = ++a ; +\s; // now b contains 3 and a contains 3 +\n; + \t;См. также \l;Программирование\u cbot;, \l;типы\u cbot\type; и \l;категории\u cbot\category;. diff --git a/help/cbot/R/for.txt b/help/cbot/R/for.txt index 65aff828..f1369b40 100644 --- a/help/cbot/R/for.txt +++ b/help/cbot/R/for.txt @@ -16,6 +16,12 @@ \t;\c;end\n; Эта инструкция выпоолняется в конце каждого кольца цикла. +Example: count from 1 to 4 +\c;\s;\c;for ( i = 0 ; i <= 4 ; i++ ) +\s;{ +\s; message(i) ; +\s;} +\n; Этот пример строго эквивалентен циклу \c;for\n;, но он использует инструкцию \c;\l;while\u cbot\while;\n;: \s;\c;before; \s;while ( условие ) diff --git a/help/cbot/R/function.txt b/help/cbot/R/function.txt index bd5d8d1f..3b4bae6c 100644 --- a/help/cbot/R/function.txt +++ b/help/cbot/R/function.txt @@ -80,5 +80,7 @@ CBOT будет вызывать ту или иную функцию так, что вызов будет зависеть отт параметров. Вы также можете объявить функцию \l;общедоступной\u cbot\public;, так что ее смогут использовать остальне боты. +You can also declare a function \l;public\u cbot\public; so it can be used by other bots. + \t;См. также \l;Инструкции\u cbot;, \l;типы\u cbot\type; и \l;категории\u cbot\category;. diff --git a/help/cbot/R/object.txt b/help/cbot/R/object.txt index db502ed0..5015b0be 100644 --- a/help/cbot/R/object.txt +++ b/help/cbot/R/object.txt @@ -41,7 +41,10 @@ \s;\c;altitude\n; Координата положения \c;z\n; показывает высоту над уровнем моря, то есть \c;высота\n; показывает высоту над землей. Это значение имеет смысл только для \l;летающих ботов\u object\botgj; и для \l;ос\u object\wasp;. Для всех остальных объектов это значение равно нулю. -\s;\c;energyPack\n; +\s;\c;lifeTime\n; +The age of the object in seconds since it's creation. + +\s;\c;energyCell\n; Это особая информация, так как она возвращает информацию о другом объекте, в данном случае о энергетическом заряде. Это означает, что energyPack содержит все характеристики обычного объекта, например \c;категорию\n; (PowerCell или NuclearCell), \c;положение\n; (положение ячейки) и так далее. Если вы хотите определить энергетический уровень робота, то вы должны проверить не \c;energyLevel\n;, а \c;energyPack.energyLevel\n;. Если у бота нет энергетической ячейки, то \c;energyPack\n; вернет \c;null\n;. diff --git a/help/cbot/R/public.txt b/help/cbot/R/public.txt index 9bf3ac37..dc3fb092 100644 --- a/help/cbot/R/public.txt +++ b/help/cbot/R/public.txt @@ -6,6 +6,7 @@ \b;Инструкция \c;public\n; для функций Еслы вы напишете \c;public\n; перед определением \l;функциии\u cbot\function;, то вы сможете сделать эту программу доступной для других ботов. + Например, вот программа первого бота¦: \c; \s;public void object::Segment(float dist, float angle) diff --git a/help/cbot/R/receive.txt b/help/cbot/R/receive.txt index efb11974..64dfaad4 100644 --- a/help/cbot/R/receive.txt +++ b/help/cbot/R/receive.txt @@ -1,12 +1,15 @@ \b;Инструкция \c;receive\n; Синтаксис: -\s;\c;receive ( имя );\n; +\s;\c;receive ( имя, power );\n; Получает информацию от ближайшего \l;поста обмена информацией\u object\exchange;. \t;имя: \c;string\n; Вид информации, которая нужна от поста обмена. Имя это строка: при написании его нужно брать в пометки " ". +\t;power: \c;float\n; +Power of the receiver, which corresponds to maximal distance between the receiver and the exchange post. If the distance is longer, no information is received. Default value is 10 metres. + \t;Возвращаемое значение: \c;\l;float\u cbot\float;\n; Значение полученной информации. Если вблизи нет ни одного поста обмена, или на посте обмена нет вида запрошенной информации, то возвращается значение \c;nan\n;. diff --git a/help/cbot/R/return.txt b/help/cbot/R/return.txt index 79828bfb..6096e13b 100644 --- a/help/cbot/R/return.txt +++ b/help/cbot/R/return.txt @@ -1,12 +1,29 @@ \b;Инструкция \c;return\n; -Синтаксис: +С помощью этой функции вы можете немедленно выйти за пределы функции. Синтаксис: \s;\c;void function ( ) \s;{ \s; return; \s;} \n; -С помощью этой функции вы можете немедленно выйти за пределы функции. +\b;For specialists +If the \l;function\u cbot\function; has a return type, the \c;return\n; instruction must be followed by the value to be returned: +\c; +\s;float Pi ( ) +\s;{ +\s; return 3.1415; +\s;} +\s;float Mean (float a, float b) +\s;{ +\s; return (a+b)/2; +\s;} + +\s;string Sign (float a) +\s;{ +\s; if ( a > 0 ) return "positive"; +\s; if ( a < 0 ) return "négative"; +\s; return "null"; +\s;} \t;Смотри также \l;Программирование\u cbot;, \l;типы\u cbot\type; и \l;категории\u cbot\category;. diff --git a/help/cbot/R/string.txt b/help/cbot/R/string.txt index a3c5142e..d7aef67d 100644 --- a/help/cbot/R/string.txt +++ b/help/cbot/R/string.txt @@ -1,5 +1,7 @@ \b;Тип \c;string\n; -Используйте переменные этого типа для хранения строки, которая может состоять как из одного символа, так и из целого предложения. Например: +Используйте переменные этого типа для хранения строки, которая может состоять как из одного символа, так и из целого предложения. + +Например: \s;\c; "Привет!" \s; "Это строка" \s; "х" @@ -7,9 +9,23 @@ \n; Чтобы соединить две строки, используйте оператор \c;+\n; : \s;\c; "Доброе утро," + " " + "сер" - Получится строка: \s;\c; "Доброе утро, сер" +If you want to put a quotation mark (") or a backslash (\) in a string you must write¦: +\s;\c;"This is \"very\" important" +\n;which will result in the string \c; This is "very" important. +\s;\c;"%user%\\ant.txt" +\n;will result in \c;%user%\ant.txt +\n; +Following instructions can be used with strings¦: +\c;\l;strlen\u cbot\strlen; \n;Get string length +\c;\l;strleft\u cbot\strleft; \n;Extract left part +\c;\l;strright\u cbot\strright; \n;Extract right part +\c;\l;strmid\u cbot\strmid; \n;Extract center part +\c;\l;strfind\u cbot\strfind; \n;Find a substring. +\c;\l;strval\u cbot\strval; \n;Convert string to number +\c;\l;strupper\u cbot\strupper; \n;Convert to upper case +\c;\l;strlower\u cbot\strlower; \n;Convert to lower case \t;Смотри также \l;Программирование\u cbot;, \l;типы\u cbot\type; и \l;категории\u cbot\category;. diff --git a/help/cbot/R/void.txt b/help/cbot/R/void.txt index 7a86f115..21b0437a 100644 --- a/help/cbot/R/void.txt +++ b/help/cbot/R/void.txt @@ -1,5 +1,11 @@ \b;Тип \c;void\n; Используйте этот тип, когда вы не хотите определять тип переменной, например когда функция ничего не возвращает. +Example: +\c;\s;void MyFunction(int a) +\s;{ +\s; ... +\s;} +\n; \t;Смотри также \l;Программирование\u cbot;, \l;типы\u cbot\type; и \l;категории\u cbot\category;. diff --git a/help/generic/D/navig.txt b/help/generic/D/navig.txt index 63622750..c0d382dc 100644 --- a/help/generic/D/navig.txt +++ b/help/generic/D/navig.txt @@ -12,7 +12,6 @@ Get again to the next page, after you used the "Home" or "Previous" button. \t;Remark When a button is gray, this means that it can not be used at this precise moment. For example, when you are in the home page, the "Home" button is gray, because it does not make sense to use it. - This remark is valid for all buttons in COLOBOT. \t;Text scrolling diff --git a/help/generic/E/navig.txt b/help/generic/E/navig.txt index 63622750..c0d382dc 100644 --- a/help/generic/E/navig.txt +++ b/help/generic/E/navig.txt @@ -12,7 +12,6 @@ Get again to the next page, after you used the "Home" or "Previous" button. \t;Remark When a button is gray, this means that it can not be used at this precise moment. For example, when you are in the home page, the "Home" button is gray, because it does not make sense to use it. - This remark is valid for all buttons in COLOBOT. \t;Text scrolling diff --git a/help/generic/F/cbot.txt b/help/generic/F/cbot.txt index a975f3f3..e92be50e 100644 --- a/help/generic/F/cbot.txt +++ b/help/generic/F/cbot.txt @@ -25,8 +25,6 @@ Une constante telle qu'une \l;catégorie\u cbot\category; est coloriée en rouge \c;\l;sizeof\u cbot\sizeof; \n;Taille d'un tableau \t;Instructions pour les robots: -\c;\l;find\u cbot\find; \n;Va vers un objet -\c;\l;detect\u cbot\detect; \n;Détection simple d'objets \c;\l;radar\u cbot\radar; \n;Détection généralisée d'objets \c;\l;direction\u cbot\direct; \n;Calcule une direction \c;\l;distance\u cbot\dist; \n;Calcule une distance @@ -42,12 +40,6 @@ Une constante telle qu'une \l;catégorie\u cbot\category; est coloriée en rouge \c;\l;errmode\u cbot\errmode; \n;Mode de gestion des erreurs \c;\l;abstime\u cbot\abstime; \n;Retourne le temps absolu -\t;Instructions pour dessiner: -\c;\l;pendown\u cbot\pendown; \n;Abaisse le crayon du robot -\c;\l;penup\u cbot\penup; \n;Relève le crayon du robot -\c;\l;pencolor\u cbot\pencolor; \n;Choix de la couleur -\c;\l;penwidth\u cbot\penwidth; \n;Choix de l'épaisseur du trait - \t;Instructions sur le terrain: \c;\l;space\u cbot\space; \n;Calcule une position libre \c;\l;topo\u cbot\topo; \n;Retourne l'élévation d'un point diff --git a/help/generic/F/command.txt b/help/generic/F/command.txt index 6281ec43..11e0ef79 100644 --- a/help/generic/F/command.txt +++ b/help/generic/F/command.txt @@ -12,6 +12,12 @@ Ces commandes ne sont pas disponibles avec les \l;robots d'entraînement\u objec \key;\key gdown;\norm; = descend (bouton \button 29;). Evidemment, ces deux commandes ne sont valables que pour le \l;cosmonaute\u object\human; et les \l;robots volants\u object\botgj;, seulement dans certaines missions. +mouse forward = higher aim +mouse backward = lower aim +mouse right = aim right +mouse left = aim left +These controls are only available to the \l;shooters\u object\botfr;, the \l;orga shooters\u object\botor; and the \l;phazer shooter\u object\botphaz;. + \key;\key action;\norm; = action principale selon le robot sélectionné. Par exemple, avec un \l;robot déménageur\u object\botgr;, cette commande actionne le bras. Avec un robot \l;shooter\u object\botfr;, cette commande fait feu (bouton \button 42;). \t;Sélections diff --git a/help/generic/P/navig.txt b/help/generic/P/navig.txt index 1add2896..eafd8ea3 100644 --- a/help/generic/P/navig.txt +++ b/help/generic/P/navig.txt @@ -12,7 +12,6 @@ Wyświetla ponownie następną stronę, wyświetlaną przed użyciem przycisku " \t;Uwaga Jeśli przycisk jest szary, oznacza to, że w danej chwili nie może być użyty. Na przykład na stronie głównej przycisk "Dom" jest szary, gdyż jego użycie nie miałoby sensu. - Uwaga ta dotyczy wszystkich przycisków w grze COLOBOT. \t;Przewijanie tekstu diff --git a/help/generic/R/navig.txt b/help/generic/R/navig.txt index 045bae35..86b7bbc8 100644 --- a/help/generic/R/navig.txt +++ b/help/generic/R/navig.txt @@ -12,7 +12,6 @@ \t;Комментарий Когда цвет кнопки серый, это означает, что ее нельзя использовать в этот момент. Например, когда вы находитесь на домашней странице, серой будет кнопка "Домой", так как в ее использовании нет смысла. - Этот комментарий может быть применен для всех кнопок игры COLOBOT. \t;Прокрутка текста diff --git a/levels/defi101/help/F/dmove1.txt b/levels/defi101/help/F/dmove1.txt index 22a20353..89afab1e 100644 --- a/levels/defi101/help/F/dmove1.txt +++ b/levels/defi101/help/F/dmove1.txt @@ -6,7 +6,5 @@ Les plates-formes et les indicateurs sont tous distants de 20 mètres. \c;\l;move\u cbot\move;\n; pour avancer le robot \c;\l;turn\u cbot\turn;\n; pour tourner le robot -\key;\key help;\norm; permet de revoir ces instructions en tout temps! - \t;Voir aussi \l;Programmation\u cbot;. diff --git a/levels/defi103/help/F/dexch1.txt b/levels/defi103/help/F/dexch1.txt index 0c1eed2e..b6ad9eeb 100644 --- a/levels/defi103/help/F/dexch1.txt +++ b/levels/defi103/help/F/dexch1.txt @@ -15,10 +15,5 @@ Des \l;bornes\u object\exchange; d'informations sont placées le long d'un chemi \c;\l;move\u cbot\move;\n; pour avancer le robot \c;\l;turn\u cbot\turn;\n; pour tourner le robot -\b;Pour tuer le temps -N'oubliez pas que, pendant que le robot avance de borne en borne, vous pouvez changer de vue en cliquant sur l'icône \button 13; ou en appuyant sur la barre d'espace. Vous pouvez également sélectionner le \l;cosmonaute\u object\human; et suivre le robot. Mais attention à ne pas le heurter, ce qui le ferait dévier de sa trajectoire! - -\key;\key help;\norm; permet de revoir ces instructions en tout temps! - \t;Voir aussi \l;Programmation\u cbot;. diff --git a/levels/defi104/help/F/dlaby1.txt b/levels/defi104/help/F/dlaby1.txt index 3eb89a2f..0da0f623 100644 --- a/levels/defi104/help/F/dlaby1.txt +++ b/levels/defi104/help/F/dlaby1.txt @@ -7,7 +7,5 @@ Programmez le \l;robot\u object\bottr; pour qu'il avance sans se cogner dans un \c;\l;move\u cbot\move;\n; pour avancer le robot \c;\l;turn\u cbot\turn;\n; pour tourner le robot -\key;\key help;\norm; permet de revoir ces instructions en tout temps! - \t;Voir aussi \l;Programmation\u cbot;. diff --git a/levels/defi201/help/F/dradar1.txt b/levels/defi201/help/F/dradar1.txt index 23355343..6569cc68 100644 --- a/levels/defi201/help/F/dradar1.txt +++ b/levels/defi201/help/F/dradar1.txt @@ -10,7 +10,5 @@ Le robot sème des \l;croix bleues\u object\waypoint; sur le sol. \t;Remarque N'attendez pas trop, car le petit poucet se met au travail tout de suite. Heureusement, pendant l'édition d'un programme, le jeu se met en pause, y compris le petit poucet. -\key;\key help;\norm; permet de revoir ces instructions en tout temps! - \t;Voir aussi \l;Programmation\u cbot;. diff --git a/levels/defi202/help/F/dfollow1.txt b/levels/defi202/help/F/dfollow1.txt index 9863c8d7..107950d9 100644 --- a/levels/defi202/help/F/dfollow1.txt +++ b/levels/defi202/help/F/dfollow1.txt @@ -17,7 +17,5 @@ A chaque arrêt, la caisse vérifie que vous êtes bien là. Si ce n'est pas le \c;\l;if\u cbot\if;\n; pour tester une condition \c;\l;motor\u cbot\motor;\n; pour commander les moteurs du robot -\key;\key help;\norm; permet de revoir ces instructions en tout temps! - \t;Voir aussi \l;Programmation\u cbot;. diff --git a/levels/defi203/help/F/dhelp1.txt b/levels/defi203/help/F/dhelp1.txt index 94858a45..4ff12344 100644 --- a/levels/defi203/help/F/dhelp1.txt +++ b/levels/defi203/help/F/dhelp1.txt @@ -11,7 +11,5 @@ La portée de votre canon est d'environ 40 mètres. Le type des fourmis est \c;A \c;\l;fire\u cbot\fire;\n; pour tirer \c;\l;wait\u cbot\wait;\n; pour attendre -\key;\key help;\norm; permet de revoir ces instructions en tout temps! - \t;Voir aussi \l;Programmation\u cbot;. diff --git a/levels/defi204/help/F/dtrap1.txt b/levels/defi204/help/F/dtrap1.txt index f45c4369..94f85bdd 100644 --- a/levels/defi204/help/F/dtrap1.txt +++ b/levels/defi204/help/F/dtrap1.txt @@ -23,9 +23,5 @@ La détection s'effectue sur 360 degrés, c'est-à-dire partout. La distance de Pour calculer la direction, utilisez \c;\l;direction\u cbot\direct;\n;. Pour la commande des moteurs, utilisez \c;\l;motor\u cbot\motor;\n;. -A vous de jouer ... - -\key;\key help;\norm; permet de revoir ces instructions en tout temps! - \t;Voir aussi \l;Programmation\u cbot;. diff --git a/levels/defi205/help/F/dtrap2.txt b/levels/defi205/help/F/dtrap2.txt index cbb7ff6b..1922cec0 100644 --- a/levels/defi205/help/F/dtrap2.txt +++ b/levels/defi205/help/F/dtrap2.txt @@ -3,7 +3,5 @@ Programmez le \l;robot\u object\bottr; pour qu'il trouve toutes les \l;croix ble On ne peut pas s'approcher à moins de 2 mètres d'une mine. Si vous utilisez cette distance dans l'instruction \c;\l;radar\u cbot\radar;\n;, cela ne fonctionnera pas. En effet, il faut tenir compte de l'inertie du robot. Une distance comprise entre 3 et 3.5 mètres semble appropriée. A vous de faire des essais ... -\key;\key help;\norm; permet de revoir ces instructions en tout temps! - \t;Voir aussi \l;Programmation\u cbot;. diff --git a/levels/defi301/help/F/dremova1.txt b/levels/defi301/help/F/dremova1.txt index ba690bfa..1e6660eb 100644 --- a/levels/defi301/help/F/dremova1.txt +++ b/levels/defi301/help/F/dremova1.txt @@ -31,7 +31,5 @@ Le \l;convertisseur\u object\convert; transforme le minerai en titanium. Pour ce \c;\l;grab\u cbot\grab;\n; pour prendre un objet \c;\l;drop\u cbot\drop;\n; pour déposer un objet -\key;\key help;\norm; permet de revoir ces instructions en tout temps! - \t;Voir aussi \l;Programmation\u cbot;. diff --git a/levels/defi302/help/F/dremova2.txt b/levels/defi302/help/F/dremova2.txt index b0feb91c..773e58be 100644 --- a/levels/defi302/help/F/dremova2.txt +++ b/levels/defi302/help/F/dremova2.txt @@ -7,7 +7,5 @@ Déplacez le cube de \l;titanium\u object\titan; sur la plate-forme d'arrivée. \c;\l;grab\u cbot\grab;\n; pour prendre un objet \c;\l;drop\u cbot\drop;\n; pour déposer un objet -\key;\key help;\norm; permet de revoir ces instructions en tout temps! - \t;Voir aussi \l;Programmation\u cbot;. diff --git a/levels/defi401/help/D/dproc1.txt b/levels/defi401/help/D/dproc1.txt index e1cda96b..1d0bc356 100644 --- a/levels/defi401/help/D/dproc1.txt +++ b/levels/defi401/help/D/dproc1.txt @@ -1,4 +1,3 @@ -\b;Exercice \b;Exercise The \l;bot\u object\bottr; must pass over all the \l;blue crosses\u object\waypoint; on the ground. The way that must be covered is made of two squares. The first one measures 15 meters, the second 25 meters. diff --git a/levels/defi401/help/E/dproc1.txt b/levels/defi401/help/E/dproc1.txt index e1cda96b..1d0bc356 100644 --- a/levels/defi401/help/E/dproc1.txt +++ b/levels/defi401/help/E/dproc1.txt @@ -1,4 +1,3 @@ -\b;Exercice \b;Exercise The \l;bot\u object\bottr; must pass over all the \l;blue crosses\u object\waypoint; on the ground. The way that must be covered is made of two squares. The first one measures 15 meters, the second 25 meters. diff --git a/levels/defi401/help/F/dproc1.txt b/levels/defi401/help/F/dproc1.txt index 0903ea3b..102d8a91 100644 --- a/levels/defi401/help/F/dproc1.txt +++ b/levels/defi401/help/F/dproc1.txt @@ -16,7 +16,5 @@ Pour résoudre ce problème, il est intéressant de créer une \l;fonction\u cbo \c;\l;move\u cbot\move;\n; pour avancer le robot \c;\l;turn\u cbot\turn;\n; pour tourner le robot -\key;\key help;\norm; permet de revoir ces instructions en tout temps! - \t;Voir aussi \l;Programmation\u cbot;. diff --git a/levels/defi402/help/F/dproc2.txt b/levels/defi402/help/F/dproc2.txt index 01ab9636..03385c33 100644 --- a/levels/defi402/help/F/dproc2.txt +++ b/levels/defi402/help/F/dproc2.txt @@ -10,7 +10,5 @@ On constate que le mouvement est composé de "L" imbriqués. Le premier, en bleu \c;\l;move\u cbot\move;\n; pour avancer le robot \c;\l;turn\u cbot\turn;\n; pour tourner le robot -\key;\key help;\norm; permet de revoir ces instructions en tout temps! - \t;Voir aussi \l;Programmation\u cbot;. diff --git a/levels/scene101/help/F/mhterre1.txt b/levels/scene101/help/F/mhterre1.txt index 8848dc7a..67923729 100644 --- a/levels/scene101/help/F/mhterre1.txt +++ b/levels/scene101/help/F/mhterre1.txt @@ -1,3 +1,10 @@ +\b;From the NASA Training Center +We are pleased to inform you that you have been selected for the space exploration mission Colobot. + +Your psychological profile has been established as more than 98.84% favorable, and your aptitude during the extensive testing period was undeniable. The detailed results are at your disposal in the central computer under the registration number that was assigned to you. + +Please report to the \l;Houston Mission Control\u object\Huston; for further directives about your forthcoming mission. + \b;Instructions de Houston \l;Vous\u object\human; avez été sélectionné suite à votre profil psychologique et aux résultats obtenus lors des tests des derniers mois pour diriger la mission Colobot. diff --git a/levels/scene102/help/F/mhterre2.txt b/levels/scene102/help/F/mhterre2.txt index f02e17c3..dc02edc4 100644 --- a/levels/scene102/help/F/mhterre2.txt +++ b/levels/scene102/help/F/mhterre2.txt @@ -1,5 +1,7 @@ \b;Instructions de Houston -Vous devez à présent apprendre le maniement du matériel qui vous accompagnera durant votre voyage. Tout est construit à base de titanium, disponible sur la plupart des systèmes solaires de l'univers. +Vous devez à présent apprendre le maniement du matériel qui vous accompagnera durant votre voyage. + +Tout est construit à base de titanium, disponible sur la plupart des systèmes solaires de l'univers. \b;Marche à suivre 1) Approchez-vous à environ 5 mètres du premier \l;cube de titanium\u object\titan;. diff --git a/levels/scene102/help/F/msterre2.txt b/levels/scene102/help/F/msterre2.txt index b45ec64f..aa00f935 100644 --- a/levels/scene102/help/F/msterre2.txt +++ b/levels/scene102/help/F/msterre2.txt @@ -1,11 +1,9 @@ \b;Solution Pour trouver le premier \l;cube de titanium\u object\titan;, longez la route qui passe devant le centre de recherches. Le cube se trouve quelques mètres après le \l;robot déménageur\u object\botgr;, sur le bord gauche de la route. -Placez-vous sur la route, face au cube, puis cliquez sur le premier bouton \button 163;, en bas à gauche de la fenêtre, pour construire le \l;centre de recherches\u object\research;. - -Continuez ensuite la route. Le deuxième cube se trouve juste après les quatre \l;piles\u object\power; vertes. - -Toujours en restant sur la route, cliquez cette fois sur le deuxième bouton \button 160;, en bas à gauche de la fenêtre. +1) Placez-vous sur la route, face au cube, puis cliquez sur le premier bouton \button 163;, en bas à gauche de la fenêtre, pour construire le \l;centre de recherches\u object\research;. +2) Continuez ensuite la route. Le deuxième cube se trouve juste après les quatre \l;piles\u object\power; vertes. +3) Toujours en restant sur la route, cliquez cette fois sur le deuxième bouton \button 160;, en bas à gauche de la fenêtre. Dès que la \l;fabrique de robots\u object\factory; est terminée, la mission est réussie. diff --git a/levels/scene103/help/D/mhterre3.txt b/levels/scene103/help/D/mhterre3.txt index ca679582..afad9f25 100644 --- a/levels/scene103/help/D/mhterre3.txt +++ b/levels/scene103/help/D/mhterre3.txt @@ -13,7 +13,7 @@ Unfortunately your \l;bot factory\u object\factory; hasn't yet got the capacity 5) Bring the black box back aboard your spaceship. 6) Don't forget to take the \l;wheeled grabber\u object\botgr; along. These bots may prove very useful in the future. 7) Climb aboard the \l;spaceship\u object\base;. -11) Select the \l;spaceship\u object\base; and take off \button 28;. +8) Select the \l;spaceship\u object\base; and take off \button 28;. Please note: To work more efficiently, you can use the \l;wheeled grabber\u object\botgr;. diff --git a/levels/scene103/help/E/mhterre3.txt b/levels/scene103/help/E/mhterre3.txt index ca679582..afad9f25 100644 --- a/levels/scene103/help/E/mhterre3.txt +++ b/levels/scene103/help/E/mhterre3.txt @@ -13,7 +13,7 @@ Unfortunately your \l;bot factory\u object\factory; hasn't yet got the capacity 5) Bring the black box back aboard your spaceship. 6) Don't forget to take the \l;wheeled grabber\u object\botgr; along. These bots may prove very useful in the future. 7) Climb aboard the \l;spaceship\u object\base;. -11) Select the \l;spaceship\u object\base; and take off \button 28;. +8) Select the \l;spaceship\u object\base; and take off \button 28;. Please note: To work more efficiently, you can use the \l;wheeled grabber\u object\botgr;. diff --git a/levels/scene103/help/F/mhterre3.txt b/levels/scene103/help/F/mhterre3.txt index 3c150b2d..1a1856c8 100644 --- a/levels/scene103/help/F/mhterre3.txt +++ b/levels/scene103/help/F/mhterre3.txt @@ -8,16 +8,12 @@ Votre \l;fabrique de robots\u object\factory; n'a pas les informations nécessai \b;Marche à suivre 1) Amenez une \l;pile\u object\power; sur le \l;centre de recherches\u object\research;. 2) Sélectionnez le centre de recherches et cliquez sur le bouton \button 64;. -3) Déposez un bloc de \l;titanium\u object\titan; dans la \l;fabrique de robots\u object\factory;. -4) Reculez, puis sélectionnez la fabrique. -5) Cliquez sur le bouton \button 138;. -6) Equipez le \l;robot déménageur\u object\botgc; d'une \l;pile\u object\power;. -7) Prenez les commandes du \l;robot déménageur à chenilles\u object\botgc;, et faites-lui gravir la montagne située au sud-ouest pour chercher la \l;boîte noire\u object\bbox;. -8) Amenez cette boîte noire sur votre \l;vaisseau spatial\u object\base;. -9) Prenez avec vous le \l;robot déménageur à roues\u object\botgr;, qui sera très utile par la suite. -10) Prenez place sur le vaisseau spatial. -11) Sélectionnez le \l;vaisseau spatial\u object\base; -12) Décollez \button 28;. +3) Déposez un bloc de \l;titanium\u object\titan; dans la \l;fabrique de robots\u object\factory;. Reculez, puis sélectionnez la fabrique. Cliquez sur le bouton \button 138;. +4) Equipez le \l;robot déménageur\u object\botgc; d'une \l;pile\u object\power;. Prenez les commandes du \l;robot déménageur à chenilles\u object\botgc;, et faites-lui gravir la montagne située au sud-ouest pour chercher la \l;boîte noire\u object\bbox;. +5) Amenez cette boîte noire sur votre \l;vaisseau spatial\u object\base;. +6) Prenez avec vous le \l;robot déménageur à roues\u object\botgr;, qui sera très utile par la suite. +7) Prenez place sur le vaisseau spatial. +8) Sélectionnez le \l;vaisseau spatial\u object\base;. Décollez \button 28;. Remarque: Pour travailler plus efficacement, vous pouvez utiliser le \l;robot déménageur\u object\botgr;. diff --git a/levels/scene103/help/F/msterre3.txt b/levels/scene103/help/F/msterre3.txt index 8a934eff..509ae869 100644 --- a/levels/scene103/help/F/msterre3.txt +++ b/levels/scene103/help/F/msterre3.txt @@ -1,7 +1,28 @@ -\b;Solution -Toute la marche à suivre pour mener à bien la mission est indiquée dans les instructions de Houston. Voici cependant quelques indications sur la manière de sélectionner les différents éléments du jeu. +\b;Walkthrough +Before taking off, you need to bring the following aboard your spaceship: -Vous pouvez sélectionner un bâtiment ou un robot en cliquant dessus avec la souris. Lorsque l'élément que vous désirez sélectionner n'est pas visible, les icônes en haut de l'écran permettent de sélectionner soit les robots (mode par défaut), soit les bâtiments. Pour que les icônes correspondant aux bâtiments soient affichées, cliquez une fois sur le flèche tout à gauche \button 130;. Le \l;vaisseau spatial\u object\base; est alors représenté par la première icône. Un nouveau clic sur la flèche fait revenir les icônes correspondant aux robots. +1) \l;Black box\u object\bbox;. +2) \l;Wheeled\u object\botgr; and \l;tracked\u object\botgc; grabbers. +3) \l;Yourself\u object\human;. -\t;Voir aussi -\l;Commandes\u command;. +Here is a detailed breakdown of the operations: +1) Power the \l;research center\u object\research; with one of the green \l;power cells\u object\power;. +2) Activate the \l;research center\u object\research; then click on the \button 64; button. +3) Place a \l;titanium cube\u object\titan; inside the \l;bot factory\u object\factory;. +4) Step back out and activate the \l;bot factory\u object\factory;. +5) Click on the \button 138; button. +6) Power the \l;tracked grabber\u object\botgc; with a brand new \l;power cell\u object\power;. +7) Radio-control the \l;tracked grabber\u object\botgc; to the top of the mountain in the south-west. +8) Bring the \l;black box\u object\bbox; back aboard your \l;spaceship\u object\base;. +9) Radio-control both the \l;tracked\u object\botgc; and the \l;wheeled\u object\botgr; grabbers onto the platform. +10) Climb aboard the \l;spaceship\u object\base; yourself. +11) Take off! + +In order to take off, select the \l;spaceship\u object\base;, provided that it is visible, by clicking on it. If it is not visible, you need to click one of the buttons in the upper left corner of your screen. The blue triangle \button 130; allows you to alternate between symbols for bots and symbols for buildings. Click once to shift to the list. A \button 171; symbol will now appear. Click on the button to select it. + +Once the spaceship is selected, click on the larger \button 28; button in the lower center of your screen. If the objects mentioned above as well as yourself are indeed standing on deck, takeoff will take place. + +No object or bot should hinder the closing of the eight large panel doors. + +\t;See also +\l;Controls\u command; diff --git a/levels/scene103/help/R/mhterre3.txt b/levels/scene103/help/R/mhterre3.txt index f1c5b9d6..3a5b1188 100644 --- a/levels/scene103/help/R/mhterre3.txt +++ b/levels/scene103/help/R/mhterre3.txt @@ -13,7 +13,7 @@ 5) Отнесите черный ящик на борт космического корабля. 6) Не забудьте захватить с собой \l;колесного сборщика\u object\botgr;. Эти боты в будущем могут оказаться очень полезными. 7) Заберитесь вовнутрь \l;космического корабля\u object\base;. -11) Выберите \l;космический корабль\u object\base; и взлетайте \button 28;. +8) Выберите \l;космический корабль\u object\base; и взлетайте \button 28;. Примите во внимание: Для более эффективной работы вы можете использовать \l;колесного сборщика\u object\botgr;. diff --git a/levels/scene201/help/D/mhlune1.txt b/levels/scene201/help/D/mhlune1.txt index 8bc9c193..f74fdd57 100644 --- a/levels/scene201/help/D/mhlune1.txt +++ b/levels/scene201/help/D/mhlune1.txt @@ -7,9 +7,7 @@ We have transmitted to your \l;spaceship\u object\base; a program that might hel \b;Procedure 1) A new \l;research program\u object\research; is required for winged bots to be added to the list of bots that can be produced by the factory. This research program will also make the propulsion reactor in your personal survival kit operational. - 2) Produce a \l;winged grabber\u object\botgj; and collect the 4 chunks of \l;titanium ore\u object\titanore;. - 3) Take the \l;winged grabber\u object\botgj; and the \l;wheeled grabber\u object\botgr; along with you and take off. Be careful that your winged bot does not run out of power when you are far from base. If necessary, replace the \l;power cell\u object\power; before leaving the spaceship. You can either do this manually or you can execute the enclosed program provided by Houston \button 53;. diff --git a/levels/scene201/help/E/mhlune1.txt b/levels/scene201/help/E/mhlune1.txt index 8bc9c193..f74fdd57 100644 --- a/levels/scene201/help/E/mhlune1.txt +++ b/levels/scene201/help/E/mhlune1.txt @@ -7,9 +7,7 @@ We have transmitted to your \l;spaceship\u object\base; a program that might hel \b;Procedure 1) A new \l;research program\u object\research; is required for winged bots to be added to the list of bots that can be produced by the factory. This research program will also make the propulsion reactor in your personal survival kit operational. - 2) Produce a \l;winged grabber\u object\botgj; and collect the 4 chunks of \l;titanium ore\u object\titanore;. - 3) Take the \l;winged grabber\u object\botgj; and the \l;wheeled grabber\u object\botgr; along with you and take off. Be careful that your winged bot does not run out of power when you are far from base. If necessary, replace the \l;power cell\u object\power; before leaving the spaceship. You can either do this manually or you can execute the enclosed program provided by Houston \button 53;. diff --git a/levels/scene201/help/F/mhlune1.txt b/levels/scene201/help/F/mhlune1.txt index 682f8921..b7584977 100644 --- a/levels/scene201/help/F/mhlune1.txt +++ b/levels/scene201/help/F/mhlune1.txt @@ -7,15 +7,9 @@ Avant de vous lancer dans une mission, consultez toujours le rapport du satellit Nous vous avons envoyé un programme pour vous faciliter la tâche, référez-vous à la page correspondante à l'aide de l'icône \button 53;. \b;Marche à suivre -1) Construisez un \l;centre de recherches\u object\research;. -2) Effectuez la recherche . - -Lorsque la recherche est terminée, de nouveaux types de robots sont ajoutés à la liste que peut produire la fabrique. De plus, le réacteur placé sous votre sac de survie devient opérationnel. - -3) Construisez une \l;fabrique de robots\u object\factory;. -4) Fabriquez un \l;robot déménageur volant\u object\botgj;. -5) Ramenez 4 unités de \l;minerai de titanium\u object\titanore; sur votre \l;vaisseau\u object\base;. -6) Embarquez le \l;robot déménageur à roues\u object\botgr; et le \l;robot déménageur volant\u object\botgj;, car ils seront peut-être utiles dans la mission suivante. +1) Construisez un \l;centre de recherches\u object\research;. Effectuez la recherche . Lorsque la recherche est terminée, de nouveaux types de robots sont ajoutés à la liste que peut produire la fabrique. De plus, le réacteur placé sous votre sac de survie devient opérationnel. +2) Construisez une \l;fabrique de robots\u object\factory;. Fabriquez un \l;robot déménageur volant\u object\botgj;. Ramenez 4 unités de \l;minerai de titanium\u object\titanore; sur votre \l;vaisseau\u object\base;. +3) Embarquez le \l;robot déménageur à roues\u object\botgr; et le \l;robot déménageur volant\u object\botgj;, car ils seront peut-être utiles dans la mission suivante. Attention à ne pas tomber en panne d'énergie avec votre déménageur volant. Si nécessaire, changez la \l;pile\u object\power; avant de partir au loin (voir le programme envoyé par Houston \button 53;). diff --git a/levels/scene202/help/F/mhlune2.txt b/levels/scene202/help/F/mhlune2.txt index 9a6812f5..3f931c96 100644 --- a/levels/scene202/help/F/mhlune2.txt +++ b/levels/scene202/help/F/mhlune2.txt @@ -1,12 +1,16 @@ \b;Instructions de Houston -Entraînement au pilotage. +L'expédition précédente a installé ce dispositif pour tester les programmes des robots volants. -L'expédition précédente a installé ce dispositif pour tester les programmes des robots volants. Utilisez-le pour vous familiariser avec le pilotage. De votre habileté peut dépendre votre survie dans une situation critique. Il est utile de revenir de temps en temps à cet entraînement pour améliorer vos réflexes. +\b;Objective +Utilisez-le pour vous familiariser avec le pilotage. De votre habileté peut dépendre votre survie dans une situation critique. Il est utile de revenir de temps en temps à cet entraînement pour améliorer vos réflexes. +\b;Marche à suivre Passez à travers toutes les cibles, le plus rapidement possible. Essayez de faire le tour sans que le moteur surchauffe; si vous n'y arrivez pas, posez-vous entre deux cibles pour laisser refroidir le réacteur. Prenez l'habitude de jouer avec la main gauche sur les touches flèches du clavier, et la main droite sur la souris. Vous devez diriger le robot et actionner les commandes monter et descendre uniquement avec la main gauche. La main droite n'est pas utile dans cet entraînement, mais elle deviendra indispensable dans des exercices ultérieurs! +It may be useful to come back to these drills once in a while if you wish to improve your reflexes further. + \key;\key help;\norm; permet de revoir ces instructions sur votre SatCom. \t;Voir aussi diff --git a/levels/scene204/help/D/mhlune4.txt b/levels/scene204/help/D/mhlune4.txt index cc87d088..d7b46f2d 100644 --- a/levels/scene204/help/D/mhlune4.txt +++ b/levels/scene204/help/D/mhlune4.txt @@ -9,9 +9,7 @@ We have developed a program that will recharge the \l;power cell\u object\power; \b;Procedure 1) You first need to build a \l;converter\u object\convert; that converts the chunks of titanium ore already in your possession into usable \l;titanium cubes\u object\titan;. - 2) You should then build both a \l;power station\u object\station; and a \l;radar\u object\radar; which will indicate the location of the black box on your mini map. - 3) With your power cells fully charged, retrieve the black box. It needs to be placed on the \l;spaceship\u object\base; platform for you to be able to take off. \key;\key help;\norm; allows you to review these instructions at all times on your personal SatCom \button 63;. diff --git a/levels/scene204/help/E/mhlune4.txt b/levels/scene204/help/E/mhlune4.txt index cc87d088..d7b46f2d 100644 --- a/levels/scene204/help/E/mhlune4.txt +++ b/levels/scene204/help/E/mhlune4.txt @@ -9,9 +9,7 @@ We have developed a program that will recharge the \l;power cell\u object\power; \b;Procedure 1) You first need to build a \l;converter\u object\convert; that converts the chunks of titanium ore already in your possession into usable \l;titanium cubes\u object\titan;. - 2) You should then build both a \l;power station\u object\station; and a \l;radar\u object\radar; which will indicate the location of the black box on your mini map. - 3) With your power cells fully charged, retrieve the black box. It needs to be placed on the \l;spaceship\u object\base; platform for you to be able to take off. \key;\key help;\norm; allows you to review these instructions at all times on your personal SatCom \button 63;. diff --git a/levels/scene204/help/F/mhlune4.txt b/levels/scene204/help/F/mhlune4.txt index 3f4632a1..5d0612ff 100644 --- a/levels/scene204/help/F/mhlune4.txt +++ b/levels/scene204/help/F/mhlune4.txt @@ -8,13 +8,9 @@ Les \l;piles\u object\power; de vos robots sont presque déchargées. Il faudra Nous vous avons envoyé un petit programme très utile pour recharger la \l;pile\u object\power; des robots. Consultez la page \button 53;. \b;Marche à suivre -1) Construisez un \l;convertisseur\u object\convert; avec le seul \l;cube de titanium\u object\titan; disponible. -2) Ce bâtiment transforme le \l;minerai de titanium\u object\titanore; en \l;cubes de titanium\u object\titan; utilisables pour construire des bâtiments ou des robots. -3) Construisez une \l;station de recharge\u object\station;. -4) Construisez un \l;radar\u object\radar; pour voir la boîte noire sur la mini-carte. -5) Après avoir rechargé la \l;pile\u object\power;, partez chercher la \l;boîte noire\u object\bbox; avec le \l;robot déménageur volant\u object\botgj;. -6) Ramenez la boîte noire sur le \l;vaisseau\u object\base;. -7) Décollez. +1) Construisez un \l;convertisseur\u object\convert; avec le seul \l;cube de titanium\u object\titan; disponible. Ce bâtiment transforme le \l;minerai de titanium\u object\titanore; en \l;cubes de titanium\u object\titan; utilisables pour construire des bâtiments ou des robots. +2) Construisez une \l;station de recharge\u object\station;. Construisez un \l;radar\u object\radar; pour voir la boîte noire sur la mini-carte. +3) Après avoir rechargé la \l;pile\u object\power;, partez chercher la \l;boîte noire\u object\bbox; avec le \l;robot déménageur volant\u object\botgj;. Ramenez la boîte noire sur le \l;vaisseau\u object\base;. Décollez. \key;\key help;\norm; permet de revoir ces instructions sur votre SatCom. diff --git a/levels/scene204/help/F/mslune4.txt b/levels/scene204/help/F/mslune4.txt index 74fe5f4d..bc73c82e 100644 --- a/levels/scene204/help/F/mslune4.txt +++ b/levels/scene204/help/F/mslune4.txt @@ -1,5 +1,19 @@ \b;Solution -La \l;boîte noire\u object\bbox; se trouve assez loin en direction du nord, derrière l'épave d'un robot à chenilles. +1) Build a converter \button 162; with the only titanium cube available. + +2) Deposit one chunk of titanium ore at a time at the center of the platform and let the converter do the rest. + +3) Build a power station \button 164; with one of the newly converted titanium cubes. + +4) If you don't feel like looking for the black box yourself, build a radar \button 168; and the box will appear on your mini map somewhere north of your present location, at the bottom of a crater, next to a few derelict spacecraft and debris from the previous expedition. + +5) Place the grabbers at the center of the power station platform to recharge them. The cells should still have a little power left in them, just enough to radio-control the bots onto the platform. + +6) Radio-control the winged grabber to the black box and back. + +7) Gather both grabbers and the black box onto the spaceship platform and climb on board yourself. + +8) Take off. \t;Voir aussi \l;Commandes\u command;. diff --git a/levels/scene301/help/F/mhtropi1.txt b/levels/scene301/help/F/mhtropi1.txt index 85c79021..411d221f 100644 --- a/levels/scene301/help/F/mhtropi1.txt +++ b/levels/scene301/help/F/mhtropi1.txt @@ -1,6 +1,7 @@ \b;Instructions de Houston Ramenez sur le \l;vaisseau spatial\u object\base; une caisse d'un nouvel explosif détecté par le satellite d'observation. Cet explosif semble avoir été mis au point par la mission précédente. +\b;Marche à suivre La caisse se trouve au fond d'une vallée encaissée, l'emplacement est marqué par une croix rouge sur la mini-carte. \key;\key help;\norm; permet de revoir ces instructions sur votre SatCom. diff --git a/levels/scene302/help/F/mhtropi2.txt b/levels/scene302/help/F/mhtropi2.txt index d9fefc72..6c70fbab 100644 --- a/levels/scene302/help/F/mhtropi2.txt +++ b/levels/scene302/help/F/mhtropi2.txt @@ -7,4 +7,12 @@ Rejoignez le vaisseau spatial au plus vite pour pouvoir nous renseigner sur les Nous ne pouvons pas vous guider; des épaves de robot aux abords du vaisseau peuvent vous donner un indice. Si vous avez de la peine à retrouver le chemin vers le vaisseau, pensez aux drapeaux que vous pouvez planter pour éviter de tourner en rond ou pour marquer les culs-de-sac. Les drapeaux s'orientent dans le vent, ce qui vous permet de les utiliser comme une boussole. +You may also want to consider planting flags. They indicate the direction of the wind so you can use them to orient yourself. + +This is all we can say for now... +Good Luck... + \key;\key help;\norm; permet de revoir ces instructions sur votre SatCom. + +\t;Voir aussi +\l;Commandes\u command;. diff --git a/levels/scene302/help/F/mstropi2.txt b/levels/scene302/help/F/mstropi2.txt index e94be029..3101a309 100644 --- a/levels/scene302/help/F/mstropi2.txt +++ b/levels/scene302/help/F/mstropi2.txt @@ -9,15 +9,13 @@ Voici le chemin à suivre pour arriver au vaisseau: 4) Arrivé vers la gravi-plante, contournez le lac par la gauche jusqu'à la presque-île ornée de fougères. -5) Décollez pour vous poser sur l'île au milieu du lac. Pour ne pas être emporté par votre élan et finir dans l'eau, visez les grands troncs verts, ils vous freineront. +5) Rejoignez l'île au fond du lac également en volant. Cette île est immergée sous 50 cm d'eau, cependant l'eau ne vous fait rien tant que votre tête est hors de l'eau. -6) Rejoignez l'île au fond du lac également en volant. Cette île est immergée sous 50 cm d'eau, cependant l'eau ne vous fait rien tant que votre tête est hors de l'eau. +6) Prenez la vallée à gauche. Une fourmi vous y attend, passez à côté en courant. -7) Prenez la vallée à gauche. Une fourmi vous y attend, passez à côté en courant. +7) Attendez que votre réacteur ait refroidi, puis passez par-dessus le petit lac. Atterrissez le plus à droite possible pour ne pas tomber dans le lac suivant, emporté par votre élan. -8) Attendez que votre réacteur ait refroidi, puis passez par-dessus le petit lac. Atterrissez le plus à droite possible pour ne pas tomber dans le lac suivant, emporté par votre élan. - -9) Passez par-dessus le deuxième lac, et vous êtes arrivé au vaisseau. Montez à bord, et décollez. +8) Passez par-dessus le deuxième lac, et vous êtes arrivé au vaisseau. Montez à bord, et décollez. \t;Voir aussi \l;Commandes\u command;. diff --git a/levels/scene304/help/F/mhtropi4.txt b/levels/scene304/help/F/mhtropi4.txt index 8d9770c7..3f601dd2 100644 --- a/levels/scene304/help/F/mhtropi4.txt +++ b/levels/scene304/help/F/mhtropi4.txt @@ -1,14 +1,10 @@ \b;Instructions de Houston -Entraînement au pilotage. - L'expédition précédente a installé ce dispositif pour tester les programmes de tir des robots volants. Utilisez-les pour vous familiariser avec le tir en vol des \l;robots shooter volants\u object\botfj;. Vos performances lors de la dernière mission nous semblent insuffisantes. Passez à travers toutes les cibles et tirez sur les 10 caisses le plus rapidement possible. Essayez de faire le tour sans que le moteur surchauffe; si vous n'y arrivez pas, posez-vous entre deux cibles pour laisser refroidir le réacteur. Pour viser, la main droite sur la souris devient indispensable. Le bouton gauche de la souris permet de tirer. -Après avoir détruit toutes les cibles et vous être posé sur le vaisseau, décollez. - Il est utile de revenir de temps en temps à cet entraînement pour améliorer vos réflexes. \key;\key help;\norm; permet de revoir ces instructions sur votre SatCom. diff --git a/levels/scene305/help/F/mstropi5.txt b/levels/scene305/help/F/mstropi5.txt index 72192a74..3a2e769a 100644 --- a/levels/scene305/help/F/mstropi5.txt +++ b/levels/scene305/help/F/mstropi5.txt @@ -7,8 +7,6 @@ 6) Ramenez la \l;boîte noire\u object\bbox; sur le \l;vaisseau spatial\u object\base;. 7) Décollez. -Vous trouverez du \l;minerai de titanium\u object\titanore; presque à côté du vaisseau spatial, vers l'ouest. - La \l;boîte noire\u object\bbox; se trouve au fond du petit lac rond, au nord-est du vaisseau spatial. Vous pouvez construire la \l;fabrique de robots\u object\factory; sur la rive sud du petit lac, ou à côté du vaisseau spatial. diff --git a/levels/scene401/help/F/mscrys1.txt b/levels/scene401/help/F/mscrys1.txt index b9d2d01a..51716d34 100644 --- a/levels/scene401/help/F/mscrys1.txt +++ b/levels/scene401/help/F/mscrys1.txt @@ -6,8 +6,7 @@ 5) Construisez un \l;centre de recherches\u object\research; à côté de votre vaisseau. 6) Effectuez la recherche \button 68;. 7) Construisez une \l;tour de défense\u object\tower; à environ 20 mètres du radar et équipez-la d'une pile. -8) Attendez que la tour détruise tous les \l;vers\u object\worm;. -9) Rejoignez le \l;vaisseau\u object\base; et décollez. +8) Rejoignez le \l;vaisseau\u object\base; et décollez. \t;Voir aussi \l;Commandes\u command;. diff --git a/levels/scene402/help/F/mhcrys2.txt b/levels/scene402/help/F/mhcrys2.txt index 7ca816a4..e0658f39 100644 --- a/levels/scene402/help/F/mhcrys2.txt +++ b/levels/scene402/help/F/mhcrys2.txt @@ -7,7 +7,5 @@ Nous avons transmis à votre \l;fabrique de robots\u object\factory; les informa Nous avons amélioré le programme permettant à un robot d'amener le minerai vers le \l;convertisseur\u object\convert; (voir la page programmes \button 53;). -\key;\key help;\norm; permet de revoir ces instructions sur votre SatCom. - \t;Voir aussi \l;Commandes\u command;. diff --git a/levels/scene402/help/F/mscrys2.txt b/levels/scene402/help/F/mscrys2.txt index e7192379..5fa3e883 100644 --- a/levels/scene402/help/F/mscrys2.txt +++ b/levels/scene402/help/F/mscrys2.txt @@ -1,19 +1,17 @@ \b;Solution 1) Construisez une \l;fabrique de robots\u object\factory;. 2) Construisez un \l;robot renifleur\u object\botsj;. - -Sondez le sol avec le robot renifleur à proximité des cristaux, jusqu'à obtenir une \l;croix rouge\u object\stonspot;. - -3) Construisez un \l;derrick\u object\derrick; proche de la croix rouge. -4) Construisez un \l;convertisseur\u object\convert;. +3) Sondez le sol avec le robot renifleur à proximité des cristaux, jusqu'à obtenir une \l;croix rouge\u object\stonspot;. +4) Construisez un \l;derrick\u object\derrick; proche de la croix rouge. +5) Construisez un \l;convertisseur\u object\convert;. Le couple derrick-convertisseur permet de produire du \l;titanium\u object\titan; tant qu'il en faut. Pour automatiser cette tâche, exécutez le programme \c;ApporteTitanium2\n; dans le \l;robot déménageur volant\u object\botgj;. -5) Sondez les zones plates proches du vaisseau avec le renifleur. Lorsqu'une \l;croix verte\u object\enerspot; est trouvée, construisez une \l;station de recharge\u object\station;. -6) Construisez un \l;radar\u object\radar;. -7) Construisez un \l;robot shooter volant\u object\botfj;. -8) Tuez tous les \l;vers\u object\worm;. -9) Retournez sur le \l;vaisseau\u object\base; et décollez. +6) Sondez les zones plates proches du vaisseau avec le renifleur. Lorsqu'une \l;croix verte\u object\enerspot; est trouvée, construisez une \l;station de recharge\u object\station;. +7) Construisez un \l;radar\u object\radar;. +8) Construisez un \l;robot shooter volant\u object\botfj;. +9) Tuez tous les \l;vers\u object\worm;. +10) Retournez sur le \l;vaisseau\u object\base; et décollez. \t;Voir aussi \l;Commandes\u command;. diff --git a/levels/scene403/help/F/mhcrys3.txt b/levels/scene403/help/F/mhcrys3.txt index 7b06b6d3..c3cf047d 100644 --- a/levels/scene403/help/F/mhcrys3.txt +++ b/levels/scene403/help/F/mhcrys3.txt @@ -1,5 +1,7 @@ \b;Instructions de Houston -Le satellite d'observation nous a transmis qu'un robot volant provenant de la première expédition a pris la \l;boîte noire\u object\bbox; de votre vaisseau et est en train de l'emporter. Ramenez-la à tout prix sur votre vaisseau. Nous allons investiguer sur les causes de cet incident qui peut mettre en danger votre mission. +Le satellite d'observation nous a transmis qu'un robot volant provenant de la première expédition a pris la \l;boîte noire\u object\bbox; de votre vaisseau et est en train de l'emporter. + +Ramenez-la à tout prix sur votre vaisseau. Nous allons investiguer sur les causes de cet incident qui peut mettre en danger votre mission. \key;\key help;\norm; permet de revoir ces instructions sur votre SatCom. diff --git a/levels/scene404/help/F/mhcrys4.txt b/levels/scene404/help/F/mhcrys4.txt index e05fd4bb..bdbf83af 100644 --- a/levels/scene404/help/F/mhcrys4.txt +++ b/levels/scene404/help/F/mhcrys4.txt @@ -1,7 +1,9 @@ \b;Instructions de Houston Cette planète ne convient pas à une colonisation à grande échelle. Trouvez et ramenez la \l;boîte noire\u object\bbox; de la première expédition, et décollez vers la prochaine planète. -Le satellite d'observation \button 186; a repéré la \l;boîte noire\u object\bbox; au fond d'une vallée. Le brouillard électromagnétique qui y règne limite cependant la qualité de ses informations. Soyez vigilant. +Le satellite d'observation \button 186; a repéré la \l;boîte noire\u object\bbox; au fond d'une vallée. Le brouillard électromagnétique qui y règne limite cependant la qualité de ses informations. + +Soyez vigilant. \key;\key help;\norm; permet de revoir ces instructions sur votre SatCom. diff --git a/levels/scene501/help/F/mssaari1.txt b/levels/scene501/help/F/mssaari1.txt index 6779bb13..4f938680 100644 --- a/levels/scene501/help/F/mssaari1.txt +++ b/levels/scene501/help/F/mssaari1.txt @@ -1,19 +1,22 @@ \b;Solution -Dans une fabrique de robots en ruine se trouve un \l;cube de titanium\u object\titan;. Utilisez-le pour construire une \l;station de recharge\u object\station;. +1) Dans une fabrique de robots en ruine se trouve un \l;cube de titanium\u object\titan;. Utilisez-le pour construire une \l;station de recharge\u object\station;. -Le \l;robot recycleur\u object\botrecy; permet de transformer les épaves de robot en \l;titanium\u object\titan;. Avec le titanium obtenu, construisez un \l;centre de réparation\u object\repair; et un \l;radar\u object\radar;. +2) Le \l;robot recycleur\u object\botrecy; permet de transformer les épaves de robot en \l;titanium\u object\titan;. -Il faut ensuite trouver une \l;pile\u object\power;, la recharger et la mettre sur un \l;robot shooter\u object\botfj;. Tuez alors toutes les \l;fourmis\u object\ant; avec le robot, sans oublier de le recharger tous les deux tirs environ. Il faut également le réparer lorsqu'il essuie des tirs ennemis et que le niveau du bouclier (indicateur jaune) baisse trop. +3) Avec le titanium obtenu, construisez un \l;centre de réparation\u object\repair; et un \l;radar\u object\radar;. -Lorsque toutes les fourmis sont tuées, chargez à fond la \l;pile\u object\power; du \l;robot déménageur\u object\botgr;, puis partez au sommet de la montagne. Vous pouvez également emporter une \l;pile\u object\power; chargée pour être sûr de ne pas tomber en panne d'énergie en chemin. -1) Le premier niveau s'atteint grâce à un passage à l'ouest. -2) Le deuxième niveau s'atteint grâce à un passage à l'est. -3) Le troisième niveau s'atteint grâce à un passage au sud. -4) Le quatrième et dernier niveau s'atteint par l'ouest. +4) Il faut ensuite trouver une \l;pile\u object\power;, la recharger et la mettre sur un \l;robot shooter\u object\botfj;. +5) Tuez alors toutes les \l;fourmis\u object\ant; avec le robot, sans oublier de le recharger tous les deux tirs environ. Il faut également le réparer lorsqu'il essuie des tirs ennemis et que le niveau du bouclier (indicateur jaune) baisse trop. + +6) Lorsque toutes les fourmis sont tuées, chargez à fond la \l;pile\u object\power; du \l;robot déménageur\u object\botgr;, puis partez au sommet de la montagne. Vous pouvez également emporter une \l;pile\u object\power; chargée pour être sûr de ne pas tomber en panne d'énergie en chemin. + a) Le premier niveau s'atteint grâce à un passage à l'ouest. + b) Le deuxième niveau s'atteint grâce à un passage à l'est. + c) Le troisième niveau s'atteint grâce à un passage au sud. + d) Le quatrième et dernier niveau s'atteint par l'ouest. Après avoir pris le \l;minerai d'uranium\u object\uranore;, rejoignez le \l;vaisseau\u object\base; en descendant en ligne droite dans la bonne direction, pour économiser l'énergie. -Posez le minerai d'uranium sur le vaisseau, embarquez et décollez. +7) Posez le minerai d'uranium sur le vaisseau, embarquez et décollez. \t;Voir aussi \l;Commandes\u command;. diff --git a/levels/scene502/help/F/mhsaari2.txt b/levels/scene502/help/F/mhsaari2.txt index 53a21d61..7d2996b5 100644 --- a/levels/scene502/help/F/mhsaari2.txt +++ b/levels/scene502/help/F/mhsaari2.txt @@ -1,12 +1,10 @@ \b;Instructions de Houston Nettoyer la région de toute présence hostile. -Les informations transmises par le satellite d'observation \button 186; ont révélé une forte concentration d'éléments hostiles près de votre vaisseau, votre situation nous préoccupe! +Les informations transmises par le satellite d'observation \button 186; ont révélé une forte concentration d'éléments hostiles près de votre vaisseau, votre situation nous préoccupe! A vous de planifier la suite des opérations à l'aide des techniques d'attaque et de défense disponibles: \l;tours de défense\u object\tower; et \l;robot shooter\u object\botfj;. Pour cette raison, nous vous avons envoyé un programme pour le \l;robot shooter\u object\botfr; permettant de parer au plus pressé. Exécutez-le rapidement; il protègera votre flanc ouest. -A vous de planifier la suite des opérations à l'aide des techniques d'attaque et de défense disponibles: \l;tours de défense\u object\tower; et \l;robot shooter\u object\botfj;. - \key;\key help;\norm; permet de revoir ces instructions sur votre SatCom. \t;Voir aussi diff --git a/levels/scene601/help/F/mhvolca1.txt b/levels/scene601/help/F/mhvolca1.txt index a75b0c7a..8acd4821 100644 --- a/levels/scene601/help/F/mhvolca1.txt +++ b/levels/scene601/help/F/mhvolca1.txt @@ -5,8 +5,7 @@ En raison de la température élevée, les réacteurs ne fonctionnent pas et le Nous vous avons envoyé un programme \c;ApporteTitanium\n; plus performant (voir la page programme). -\b;Attention -La caisse d'explosifs est très fragile. Vous devez vous en approcher avec la plus grande prudence. Au moindre choc, elle explose. +Attention: La caisse d'explosifs est très fragile. Vous devez vous en approcher avec la plus grande prudence. Au moindre choc, elle explose. \key;\key help;\norm; permet de revoir ces instructions sur votre SatCom. diff --git a/levels/scene602/help/F/mhvolca2.txt b/levels/scene602/help/F/mhvolca2.txt index 5b3a79bf..b56bc4f2 100644 --- a/levels/scene602/help/F/mhvolca2.txt +++ b/levels/scene602/help/F/mhvolca2.txt @@ -8,7 +8,8 @@ Prélevez un échantillon de \l;matière organique\u object\bullet; dans le nid Afin de diminuer votre stress, nous vous avons envoyé un programme pour recharger automatiquement les \l;tours de défense\u object\tower;. -Remarque: Vu la température plus basse dans cette région, le vol semble possible. +\b;Remarque +Vu la température plus basse dans cette région, le vol semble possible. \key;\key help;\norm; permet de revoir ces instructions sur votre SatCom. diff --git a/levels/scene602/help/F/msvolca2.txt b/levels/scene602/help/F/msvolca2.txt index 9f2e92d2..7069aee2 100644 --- a/levels/scene602/help/F/msvolca2.txt +++ b/levels/scene602/help/F/msvolca2.txt @@ -11,7 +11,9 @@ 6) Construisez un \l;laboratoire\u object\labo;, posez-y la \l;matière organique\u object\bullet; et cliquez sur le bouton \button 109; pour développer les plans pour les robots à pattes. -7) Lorsque la \l;matière organique\u object\bullet; a été analysée, construisez un \l;robot déménageur à pattes\u object\botgs;, amenez-le sur votre \l;vaisseau spatial\u object\base; puis décollez. +7) Lorsque la \l;matière organique\u object\bullet; a été analysée, construisez un \l;robot déménageur à pattes\u object\botgs;, amenez-le sur votre \l;vaisseau spatial\u object\base; + +8) ... puis décollez. \t;Voir aussi \l;Commandes\u command;. diff --git a/levels/scene602/help/P/msvolca2.txt b/levels/scene602/help/P/msvolca2.txt index 7ff7a0b9..884c4ff5 100644 --- a/levels/scene602/help/P/msvolca2.txt +++ b/levels/scene602/help/P/msvolca2.txt @@ -1,4 +1,4 @@ - \b;Rozwiązanie +\b;Rozwiązanie 1) Szybko zbuduj \l;wieżę obronną\u object\tower; na północ od statku kosmicznego. Po jej \l;zasileniu\u object\power; na jednym z \l;transporterów\u object\botgr; uruchom program \c;ServiceTower1\n;, który zajmie się ładowaniem baterii, gdy ta będzie pusta. Umieść drugie ogniwo elektryczne 2 m na północ od wieży, jako pierwszy cel dla atakujących os. 2) Zbuduj \l;stację energetyczną\u object\station; w pobliżu wieży obronnej. diff --git a/levels/scene603/help/F/mhvolca3.txt b/levels/scene603/help/F/mhvolca3.txt index 879533f0..b44af2fe 100644 --- a/levels/scene603/help/F/mhvolca3.txt +++ b/levels/scene603/help/F/mhvolca3.txt @@ -1,8 +1,6 @@ \b;Instructions de Houston Cette planète est inadaptée à une colonisation durable. Ramenez la \l;boîte noire\u object\bbox; de la première expédition sur le \l;vaisseau\u object\base;, et décollez. -En raison de la température très élevée dans cette région, le vol est impossible. - \key;\key help;\norm; permet de revoir ces instructions sur votre SatCom. \t;Voir aussi diff --git a/levels/scene603/help/F/msvolca3.txt b/levels/scene603/help/F/msvolca3.txt index 94718dbe..d8d9fd17 100644 --- a/levels/scene603/help/F/msvolca3.txt +++ b/levels/scene603/help/F/msvolca3.txt @@ -1,9 +1,11 @@ \b;Solution -Plusieurs \l;robots shooter\u object\botfs; et plusieurs \l;piles\u object\power; ont été abandonnées par la première expédition. Il reste même une \l;pile atomique\u object\atomic; derrière la \l;fabrique de robots\u object\factory;. +1) Plusieurs \l;robots shooter\u object\botfs; et plusieurs \l;piles\u object\power; ont été abandonnées par la première expédition. Il reste même une \l;pile atomique\u object\atomic; derrière la \l;fabrique de robots\u object\factory;. -Equipez les \l;robots shooter\u object\botfs; de piles et éliminez toutes les fourmis. Contournez les fourmis par l'est pour avoir un meilleur angle de tir. +2) Equipez les \l;robots shooter\u object\botfs; de piles et éliminez toutes les fourmis. -Une fois que toutes les fourmis sont anéanties, ramenez la \l;boîte noire\u object\bbox; avec le \l;robot déménageur\u object\botgs; et décollez. +3) Contournez les fourmis par l'est pour avoir un meilleur angle de tir. + +4) Une fois que toutes les fourmis sont anéanties, ramenez la \l;boîte noire\u object\bbox; avec le \l;robot déménageur\u object\botgs; et décollez. \t;Voir aussi \l;Commandes\u command;. diff --git a/levels/scene605/help/F/mhvolca5.txt b/levels/scene605/help/F/mhvolca5.txt index 9044fb1e..20a8876d 100644 --- a/levels/scene605/help/F/mhvolca5.txt +++ b/levels/scene605/help/F/mhvolca5.txt @@ -1,7 +1,9 @@ \b;Situation Félicitations! En suivant votre parcours, nous étions inquiets à votre sujet. Retournez à présent sur le \l;vaisseau spatial\u object\base;. -Le nouveau système d'armement semble être une autre application de l'"or vert", la \l;matière organique\u object\bullet; produite par les insectes. Nous l'avons appelé \l;robot orgaShooter\u object\botoj;. Il va peut-être se révéler utile pour couvrir votre retour sur le \l;vaisseau\u object\base;. +Le nouveau système d'armement semble être une autre application de l'"or vert", la \l;matière organique\u object\bullet; produite par les insectes. Nous l'avons appelé \l;robot orgaShooter\u object\botoj;. + +Il va peut-être se révéler utile pour couvrir votre retour sur le \l;vaisseau\u object\base;. \key;\key help;\norm; permet de revoir ces instructions en tout temps! diff --git a/levels/scene606/help/F/msvolca6.txt b/levels/scene606/help/F/msvolca6.txt index ae46bea0..ade038f5 100644 --- a/levels/scene606/help/F/msvolca6.txt +++ b/levels/scene606/help/F/msvolca6.txt @@ -5,7 +5,5 @@ Prenez les commandes du \l;robot orgaShooter\u object\botoj; et abattrez en prem Si vous n'y arrivez pas de cette manière, mettez le \l;robot orgaShooter\u object\botoj; en sécurité un peu plus loin, puis mettez-vous vous-même en sécurité. Vous pourrez alors en toute tranquillité éliminer les fourmis une à une. Le vaisseau et la \l;boîte noire\u object\bbox; ne risquent rien. -Bonne chance! - \t;Voir aussi \l;Commandes\u command;. diff --git a/levels/scene701/help/F/mhcent1.txt b/levels/scene701/help/F/mhcent1.txt index 511dbee2..2340398d 100644 --- a/levels/scene701/help/F/mhcent1.txt +++ b/levels/scene701/help/F/mhcent1.txt @@ -1,5 +1,7 @@ \b;Instructions de Houston -Retrouvez de la \l;matière organique\u object\bullet; pour faire dans votre \l;laboratoire\u object\labo; les recherches nécessaires à la construction des canons orgaShooter. Construisez ensuite un \l;robot orgaShooter à pattes\u object\botos; et amenez-le sur le \l;vaisseau\u object\base;. +Retrouvez de la \l;matière organique\u object\bullet; pour faire dans votre \l;laboratoire\u object\labo; les recherches nécessaires à la construction des canons orgaShooter. + +Construisez ensuite un \l;robot orgaShooter à pattes\u object\botos; et amenez-le sur le \l;vaisseau\u object\base;. Nous attirons vous attention sur l'approvisionnement en énergie qui est un problème majeur sur cette planète. diff --git a/levels/scene702/help/F/mhcent2.txt b/levels/scene702/help/F/mhcent2.txt index dcb42f2d..c04fb0ea 100644 --- a/levels/scene702/help/F/mhcent2.txt +++ b/levels/scene702/help/F/mhcent2.txt @@ -1,7 +1,5 @@ \b;Instructions de Houston -Il est grand temps d'améliorer vos performances aux commandes de robots équipés de canons. Dans cette mission d'entraînement, vous devez toucher toutes les cibles avec le peu d'énergie qui vous reste. - -Lorsque toutes les cibles sont détruites, vous pouvez décoller. +Il est grand temps d'améliorer vos performances aux commandes de robots équipés de canons. Dans cette mission d'entraînement, vous devez toucher toutes les cibles avec le peu d'énergie qui vous reste. Lorsque toutes les cibles sont détruites, vous pouvez décoller. \key;\key help;\norm; permet de revoir ces instructions sur votre SatCom. diff --git a/levels/scene704/help/F/mhcent4.txt b/levels/scene704/help/F/mhcent4.txt index 8385228f..d63094ac 100644 --- a/levels/scene704/help/F/mhcent4.txt +++ b/levels/scene704/help/F/mhcent4.txt @@ -1,13 +1,18 @@ +\b;Politique +Nous n'avons pas osé vous le dire avant, mais ce nouveau système d'armement nous en donne l'occasion: nous subissons des pressions de plus en plus fortes de la part du Congrès et de l'opinion publique pour cesser ces "massacres" que vous perpétrez parmi la "population indigène". + +Essayez d'éviter les exterminations systématiques à l'avenir. Mais en cas de danger, n'hésitez pas à faire feu (faut-il vous le dire?). Nous essayerons de contribuer à rendre votre arsenal d'armes défensives plus complet et efficace. + \b;Instructions de Houston Trouvez et ramenez la \l;boîte noire\u object\bbox; de la première expédition pour explorer la prochaine planète. -Vos réserves énergétiques semblent limitées, et la région n'offre toujours rien pour les renouveler. Nous avons maintenant reçu des informations que la première expédition avait laissées sur place et qui nous ont été transmises par le radar construit par vos soins. Il est question entre autres d'un système d'armement qui mettrait toutes les \l;fourmis\u object\ant; hors combat pendant un certain temps, dans un certain rayon. Essayez de faire marcher votre \l;centre de recherches\u object\research;; peut-être que ce système vous facilitera la tâche? +Vos réserves énergétiques semblent limitées, et la région n'offre toujours rien pour les renouveler. +Nous avons maintenant reçu des informations que la première expédition avait laissées sur place et qui nous ont été transmises par le radar construit par vos soins. Il est question entre autres d'un système d'armement qui mettrait toutes les \l;fourmis\u object\ant; hors combat pendant un certain temps, dans un certain rayon. Essayez de faire marcher votre \l;centre de recherches\u object\research;; peut-être que ce système vous facilitera la tâche? + +\b;Marche à suivre Ramenez également un exemplaire de ce nouveau robot sur le \l;vaisseau\u object\base;. Nous sommes curieux de voir de quoi il a l'air. -\b;Politique -Nous n'avons pas osé vous le dire avant, mais ce nouveau système d'armement nous en donne l'occasion: nous subissons des pressions de plus en plus fortes de la part du Congrès et de l'opinion publique pour cesser ces "massacres" que vous perpétrez parmi la "population indigène". Essayez d'éviter les exterminations systématiques à l'avenir. Mais en cas de danger, n'hésitez pas à faire feu (faut-il vous le dire?). Nous essayerons de contribuer à rendre votre arsenal d'armes défensives plus complet et efficace. - \key;\key help;\norm; permet de revoir ces instructions sur votre SatCom. \t;Voir aussi diff --git a/levels/scene801/help/F/mhorph1.txt b/levels/scene801/help/F/mhorph1.txt index 8f4e0506..1f3b36c5 100644 --- a/levels/scene801/help/F/mhorph1.txt +++ b/levels/scene801/help/F/mhorph1.txt @@ -1,5 +1,9 @@ \b;Instructions de Houston -Il est évident que cette planète ne pourra jamais servir de refuge à l'humanité. Cette région servira cependant de poste de ravitaillement pour la migration depuis la terre vers la nouvelle planète. Eliminez donc toute présence hostile de la région (le Congrès n'en apprendra rien). Construisez aussi un radar comme relais pour les transmissions ultérieures. +Il est évident que cette planète ne pourra jamais servir de refuge à l'humanité. Cette région servira cependant de poste de ravitaillement pour la migration depuis la terre vers la nouvelle planète. + +Eliminez donc toute présence hostile de la région (le Congrès n'en apprendra rien). + +Construisez aussi un radar comme relais pour les transmissions ultérieures. La première expédition avait découvert du \l;minerai de titanium\u object\titanore; en sous-sol. Cet endroit est marqué par un drapeau bleu. diff --git a/levels/scene801/help/F/msorph1.txt b/levels/scene801/help/F/msorph1.txt index 76fdcda7..c1bf40f8 100644 --- a/levels/scene801/help/F/msorph1.txt +++ b/levels/scene801/help/F/msorph1.txt @@ -1,15 +1,15 @@ \b;Solution -Construisez un \l;paratonnerre\u object\captor; près du drapeau bleu, le plus vite possible. Il vous protège de la foudre. Le bouton \button 41; montre la zone circulaire à l'intérieur de laquelle vous êtes protégé. Tous les bâtiments suivants doivent être construits dans ce périmètre sécurisé. - -Transportez les \l;piles\u object\power; vides qui sont sur le \l;vaisseau spatial\u object\base; sous le \l;paratonnerre\u object\captor;. Elles seront rechargées dès que la foudre tombe sur le paratonnerre. - -Construisez un \l;derrick\u object\derrick; puis un \l;convertisseur\u object\convert;. - -Vous pouvez maintenant produire du \l;titanium\u object\titan;. Construisez une \l;fabrique de robots\u object\factory; puis un \l;robot orgaShooter volant\u object\botoj;. - -Construisez un \l;radar\u object\radar;. Avec le robot orgaShooter, vous pouvez alors trouver et tuer toutes les \l;fourmis\u object\ant;. - -Dès que le \l;radar\u object\radar; ne détecte plus de \l;fourmis\u object\ant;, retournez sur le \l;vaisseau\u object\base; et décollez. +1) Construisez un \l;paratonnerre\u object\captor; près du drapeau bleu, le plus vite possible. Il vous protège de la foudre. +Le bouton \button 41; montre la zone circulaire à l'intérieur de laquelle vous êtes protégé. Tous les bâtiments suivants doivent être construits dans ce périmètre sécurisé. +2) Transportez les \l;piles\u object\power; vides qui sont sur le \l;vaisseau spatial\u object\base; sous le \l;paratonnerre\u object\captor;. Elles seront rechargées dès que la foudre tombe sur le paratonnerre. +3) Construisez un \l;derrick\u object\derrick; +4) ... puis un \l;convertisseur\u object\convert;. +5) Vous pouvez maintenant produire du \l;titanium\u object\titan;. +6) Construisez une \l;fabrique de robots\u object\factory; puis un \l;robot orgaShooter volant\u object\botoj;. +7) Avec le robot orgaShooter, vous pouvez alors trouver et tuer toutes les \l;fourmis\u object\ant;. +8) Construisez un \l;radar\u object\radar;. +9) Dès que le \l;radar\u object\radar;, ne détecte plus de \l;fourmis\u object\ant; +10) Retournez sur le \l;vaisseau\u object\base; et décollez. \t;Voir aussi \l;Commandes\u command;. diff --git a/levels/scene802/help/F/msorph2.txt b/levels/scene802/help/F/msorph2.txt index 071ff82d..62c035e3 100644 --- a/levels/scene802/help/F/msorph2.txt +++ b/levels/scene802/help/F/msorph2.txt @@ -1,4 +1,6 @@ \b;Solution +You will find a \l;radar\u object\radar;, a \l;power captor\u object\captor;, a \l;power cell\u object\power; and a \l;winged orga shooter\u object\botoj; in the valley south of the spaceship. This will allow you to kill the ants close to the spaceship and to locate the \l;black box\u object\bbox; in the north next to the remains of the first expedition spaceship. + Construisez un "chemin" de \l;paratonnerres\u object\captor; sur les montagnes, qui vous amène au nord. Normalement, 5 ou 6 paratonnerres devraient suffire. La \l;boîte noire\u object\bbox; est à côté de l'épave du vaisseau spatial de la première expédition. Ramenez la \l;boîte noire\u object\bbox; sur votre \l;vaisseau\u object\base; puis décollez. diff --git a/levels/scene901/help/F/mhterra1.txt b/levels/scene901/help/F/mhterra1.txt index de5cd26e..5efeecaf 100644 --- a/levels/scene901/help/F/mhterra1.txt +++ b/levels/scene901/help/F/mhterra1.txt @@ -1,5 +1,7 @@ \b;Instructions de Houston -Nous avons reçu des informations sur un nouveau système d'armement que la première expédition a mis au point. Ce système est mis à l'abri des attaques ennemies dans un bunker. Les quatre \l;clés\u object\key; qui y donnent accès sont disséminées sur toute la planète. Le satellite en a repéré une au nord de votre position. Ramenez-la sur le vaisseau. +Nous avons reçu des informations sur un nouveau système d'armement que la première expédition a mis au point. Ce système est mis à l'abri des attaques ennemies dans un bunker. Les quatre \l;clés\u object\key; qui y donnent accès sont disséminées sur toute la planète. + +Le satellite en a repéré une au nord de votre position. Ramenez-la sur le vaisseau. Suite à la pression du Congrès, nous avons développé une arme défensive qui peut vous être utile. Il s'agit d'un \l;robot bouclier\u object\botshld;, qui vous protège dans un certain périmètre de toute attaque ennemie. Votre \l;centre de recherches\u object\research; a reçu les informations correspondantes. Nous vous avons transmis deux programmes adaptés à ce nouveau robot. diff --git a/levels/scene903/help/F/mhterra3.txt b/levels/scene903/help/F/mhterra3.txt index a18630ce..c03d1517 100644 --- a/levels/scene903/help/F/mhterra3.txt +++ b/levels/scene903/help/F/mhterra3.txt @@ -1,8 +1,6 @@ \b;Instructions de Houston La troisième \l;clé\u object\key; a été enterrée par la première expédition dans un "endroit riche en champignons". Un \l;robot renifleur\u object\botss; devrait pouvoir la détecter, et un \l;derrick\u object\derrick; pourra la remonter à la surface. -N'oubliez pas que les \l;robots à pattes\u object\botgs; sont très utiles dans ces régions montagneuses. - Avant de décoller, pensez à prendre avec vous le \l;robot bouclier\u object\botshld; et le \l;sous-marin\u object\botsub;. \key;\key help;\norm; permet de revoir ces instructions sur votre SatCom. diff --git a/levels/scene904/help/F/mhterra4.txt b/levels/scene904/help/F/mhterra4.txt index 5c0b0d38..f3c500b9 100644 --- a/levels/scene904/help/F/mhterra4.txt +++ b/levels/scene904/help/F/mhterra4.txt @@ -1,5 +1,7 @@ \b;Instructions de Houston -Avec la quatrième \l;clé\u object\key; qui se trouve à proximité, vous aurez accès au \l;bunker\u object\safe; contenant le nouveau système d'armement, que nous avons appelé "\l;robot phazer\u object\botphaz;". Nous vous avons transmis un programme pour faire collaborer le \l;robot bouclier\u object\botshld; avec le \l;robot phazer\u object\botphaz;. +Avec la quatrième \l;clé\u object\key; qui se trouve à proximité, vous aurez accès au \l;bunker\u object\safe; contenant le nouveau système d'armement, que nous avons appelé "\l;robot phazer\u object\botphaz;". + +Nous vous avons transmis un programme pour faire collaborer le \l;robot bouclier\u object\botshld; avec le \l;robot phazer\u object\botphaz;. Vous pourrez immédiatement tester ce nouveau système: votre mission consiste à tuer la \l;reine\u object\mother; qui pond les oeufs dont sortent les fourmis qui infestent Terranova. Le \l;robot phazer\u object\botphaz; semble être le seul qui puisse en venir à bout. diff --git a/levels/scene904/help/F/mlterra4.txt b/levels/scene904/help/F/mlterra4.txt index f6eb6b99..ac80bdaf 100644 --- a/levels/scene904/help/F/mlterra4.txt +++ b/levels/scene904/help/F/mlterra4.txt @@ -1,5 +1,7 @@ \b;Programmes envoyés par Houston -Voilà un programme développé par nos ingénieurs. Il permet au \l;robot bouclier\u object\botshld; de suivre et de protéger le \l;robot phazer\u object\botphaz;. +Voilà un programme développé par nos ingénieurs. + +Il permet au \l;robot bouclier\u object\botshld; de suivre et de protéger le \l;robot phazer\u object\botphaz;. \c; \s;extern void object::SuivrePhazer() \s;{ diff --git a/levels/train101/help/F/tspid1.txt b/levels/train101/help/F/tspid1.txt index 351aa96f..5424e6b6 100644 --- a/levels/train101/help/F/tspid1.txt +++ b/levels/train101/help/F/tspid1.txt @@ -1,5 +1,28 @@ \b;Objectif -Détruisez les trois \l;cibles\u object\bottarg; avec un petit programme. Vous aurez besoin des instructions suivantes: +Détruisez les trois \l;cibles\u object\bottarg; avec un petit programme. + +\t;Marche à suivre +1) In order to program the bot, select it. +2) The numbers 1 to 4 corresponding to the programs contained in the bot appear on the lower left-hand corner of your screen. Select the first line. +3) Click the button with the braces \button 22;, and you will arrive in an editor where you can write the program. +4) While you are writing the program, the key \key;\key help;\norm; will display the text you are reading right now. When you have finished writing the program, click the "OK" button. +5) In order to execute the program, click the arrow button \button 21;. + +\t;Program +You must tell the bot exactly step by step what it must do in order to kill the three spiders. The bot understands only precise instructions, which it will execute one after another. + +When you click the braces button \button 22; in order to write the program, a part of the program will already be there: +\c; +\s;extern void object::Spider1( ) +\s;{ +\s; +\s; \n;write your program here ...\c; +\s; +\s;} +\n; +Everything that is already written when you arrive in the editor must not be altered. Just introduce the necessary instructions at the cursor. + +Vous aurez besoin des instructions suivantes: \c; \s;aim(0);\n; \n;Met le canon bien droit. @@ -16,6 +39,7 @@ o on tire sur la cible qui est droit devant avec \c;fire(1);\n; o on tourne à gauche de 90 degrés avec \c;turn(90)\n; o on tire avec \c;fire(1);\n; o etc. + Voici le programme correspondant: \c; \s;extern void object::Go( ) @@ -28,7 +52,13 @@ Voici le programme correspondant: \n; A vous de faire la suite! -\key;\key help;\norm; permet de revoir les instructions générales en tout temps. De même, \key;\key prog;\norm; accède aux explications du langage de programmation CBOT. +If you have got a problem, you can always look at the solution: select the \c;Solution\n; program on the lower left-hand corner of the screen, and click the braces button \button 22;. You can even execute the solution program with the arrow button \button 21;. -\t;Voir aussi -\l;Exercice précédent\u tcircle2; et \l;programmation\u cbot;. +\t;Remarks +Be careful to write the instructions precisely, respecting lower and upper case letters. + +Always write one instruction per line, finishing each line with a semicolon. + +In case your program does not do exactly what you wanted, you can put the bot back at the starting point with the \button 59; button. You can also start over again from the beginning (hit the "Esc" key, then click "Restart"). The program you have written will not be lost. + +\key;\key help;\norm; permet de revoir les instructions générales en tout temps. De même, \key;\key prog;\norm; accède aux explications du langage de programmation CBOT. diff --git a/levels/train102/help/F/tcell1.txt b/levels/train102/help/F/tcell1.txt index 7cb3aced..3a884a80 100644 --- a/levels/train102/help/F/tcell1.txt +++ b/levels/train102/help/F/tcell1.txt @@ -1,12 +1,12 @@ \b;Objectif Changez la \l;pile\u object\power; du robot \l;shooter\u object\botfj;, pour qu'il puisse partir à la chasse aux \l;cibles\u object\bottarg;. -\b;Marche à suivre +\t;Marche à suivre 1) Programmez le robot déménageur. 2) Exécutez le programme en cliquant sur le bouton \button 21;. Le robot shooter est déjà programmé, et entrera en action dès qu'il aura une pile neuve. -\b;Programme +\t;Programme Vous aurez besoin des instructions suivantes: \c; \s;\l;grab\u cbot\grab;();\n; @@ -25,7 +25,13 @@ o on pose la pile vide \c;drop();\n; o etc. A vous de faire la suite! -\key;\key help;\norm; permet de revoir les instructions générales en tout temps. De même, \key;\key prog;\norm; accède aux explications du langage de programmation CBOT. +If you have got a problem, you can always look at the solution: select the \c;Solution\n; program, and click the braces button \button 22;. -\t;Voir aussi -\l;Exercice précédent\u tspid1; et \l;programmation\u cbot;. +\t;Remarks +Be careful to write the instructions precisely, respecting lower and upper case letters. + +Always write one instruction per line, finishing each line with a semicolon. + +In case your program does not do exactly what you wanted, you can put the bot back at the starting point with the button \button 59;. You can also start over again from the beginning (hit the key "Esc", the click "Restart"). The program you have written will not be lost. + +\key;\key help;\norm; permet de revoir les instructions générales en tout temps. De même, \key;\key prog;\norm; accède aux explications du langage de programmation CBOT. diff --git a/levels/train103/help/F/ttit1.txt b/levels/train103/help/F/ttit1.txt index bda4774a..5c1a4c87 100644 --- a/levels/train103/help/F/ttit1.txt +++ b/levels/train103/help/F/ttit1.txt @@ -1,30 +1,14 @@ \b;Objectif Aller chercher un \l;minerai de titanium\u object\titanore;, et le poser sur le \l;convertisseur\u object\convert; de manière à obtenir un \l;cube de titanium\u object\titan;. -\b;Situation +\t;Program +You will need a new instruction: +\c; +\s;move();\n; +Instructs the bot to move forward or backward. The distance of the move is given in brackets in meters: \c;move(10);\n; moves the bot 10m forward, \c;move(-1);\n; moves the bot 1m backward. + +The instructions \c;\l;turn\u cbot\turn;()\n;, \c;\l;grab\u cbot\grab;()\n; and \c;\l;drop\u cbot\drop;()\n; have already been explained in the previous exercises. If you have any questions about these instructions, click the name of the instruction underlined in blue, and an explanation of the instruction will appear. + Le \l;minerai de titanium\u object\titanore; se trouve à 20 mètres devant le robot, et le \l;convertisseur\u object\convert; se trouve à 10 mètres derrière le robot. Après avoir posé le minerai sur le convertisseur, n'oubliez pas de reculer pour que le convertisseur puisse fermer les portes et se mettre au travail. -Tout comme on peut passer une valeur positive ou une valeur négative à l'instruction \c;\l;turn\u cbot\turn;();\n;, si on passe un paramètre positif à \c;\l;move\u cbot\move;();\n;, le robot avance, et si on passe un paramètre négatif à \c;\l;move\u -cbot\move;();\n;, le robot recule. - -\b;Programme -Il faut donc effectuer les actions suivantes: -\s;o Avancer de 20 mètres. -\s;o Prendre le minerai de titanium. -\s;o Faire demi-tour. -\s;o Avancer de 30 mètres. -\s;o Déposer le minerai. -\s;o Reculer de 3 mètres. - -Les instructions à utiliser sont: -\c;\l;move\u cbot\move;();\n; pour avancer ou reculer. -\c;\l;turn\u cbot\turn;();\n; pour tourner. -\c;\l;grab\u cbot\grab;();\n; pour prendre l'objet devant le robot. -\c;\l;drop\u cbot\drop;();\n; pour déposer l'objet transporté. - -\b;À vous de jouer -A vous maintenant d'écrire le programme complet. \key;\key help;\norm; permet de revoir les instructions générales en tout temps. De même, \key;\key prog;\norm; accède aux explications du langage de programmation CBOT. - -\t;Voir aussi -\l;Exercice précédent\u tfor2; et \l;programmation\u cbot;. diff --git a/levels/train104/help/F/ttit2.txt b/levels/train104/help/F/ttit2.txt index 5b82bbe1..5dd1f68c 100644 --- a/levels/train104/help/F/ttit2.txt +++ b/levels/train104/help/F/ttit2.txt @@ -1,7 +1,7 @@ \b;Exercice Amener sur le \l;convertisseur\u object\convert; un \l;minerai de titanium\u object\titanore; dont on ne connaît pas la position exacte en utilisant le \l;radar\u cbot\radar; du robot. -\b;Programme +\t;Programme Comme vous l'aurez constaté, les programmes faits dans les exercices précédents sont complètement "aveugles": si le minerai, la pile ou les cibles se trouvaient à un autre endroit, le robot ne les trouverait pas. Le \l;radar\u cbot\radar; représente les "yeux" du robot et lui permet de détecter les objets qui l'entourent. Par exemple l'instruction \c;radar(TitaniumOre);\n; retournera toutes les informations sur le \l;minerai de titanium\u object\titanore; le plus proche. Cependant, il faut pouvoir mettre "quelque part" les informations que la fonction \c;radar(TitaniumOre);\n; va retourner. Pour ceci, nous aurons besoin d'une \l;variable\u cbot\var;. @@ -19,8 +19,21 @@ La variable \c;chose\n; contient beaucoup d'informations: la position, l'orienta \s;goto(chose.position); \n; Ce qui se traduit en français par: va à la position de l'objet décrit par la variable \c;chose\n;. + Puis il suffit de prendre ce qui s'y trouve avec \c;\l;grab\u cbot\grab;();\n;. +If we put all this together, we get the following program: +\c; +\s;extern void object::Titanium2( ) +\s;{ +\s; +\s; \l;object\u cbot\type; item; +\s; item = \l;radar\u cbot\radar;(TitaniumOre); +\s; \l;goto\u cbot\goto;(item.position); +\s; grab(); +\s; +\s;} +\n; Il faut ensuite chercher le \l;convertisseur\u object\convert;, et mettre les informations sur le convertisseur dans la variable \c;chose\n;: \c; \s;chose = radar(Converter); @@ -29,12 +42,10 @@ On se déplace avec l'instruction \c;goto(chose.position);\n; comme ci-dessus, o Pour savoir comment s'appellent les différents objets dans le langage de programmation, reportez-vous au \l;texte décrivant les catégories\u cbot\category;. -\b;Remarques +\t;Remarques Il ne faut déclarer une variable qu'une seule fois tout au début du programme! On peut ensuite l'utiliser autant de fois qu'on veut. Pour vous éviter de recopier les instructions expliquées ci-dessus, vous pouvez les sélectionner avec la souris, et les reporter avec copier-coller dans le programme. -\key;\key help;\norm; permet de revoir les instructions générales en tout temps. De même, \key;\key prog;\norm; accède aux explications du langage de programmation CBOT. - \t;Voir aussi \l;Exercice précédent\u ttit1; et \l;programmation\u cbot;. diff --git a/levels/train105/help/F/tcell2.txt b/levels/train105/help/F/tcell2.txt index 13a92515..553e35f3 100644 --- a/levels/train105/help/F/tcell2.txt +++ b/levels/train105/help/F/tcell2.txt @@ -1,7 +1,7 @@ \b;Objectif Equipez les \l;robots shooter\u object\botfj; de \l;piles\u object\power;, pour que ceux-ci puissent assainir le nid de \l;fourmis\u object\ant; qui se trouve dans un cratère au nord de votre position. -\b;Programme +\t;Programme Le robot déménageur doit aller vers une pile, prendre celle-ci, aller vers un robot, et poser la pile. Voici un programme d'un exercice précédent qui accomplit une tâche semblable: \c; \s;extern void object::Titanium2() @@ -17,10 +17,15 @@ Le robot déménageur doit aller vers une pile, prendre celle-ci, aller vers un \s; drop(); \s;} \n; -Vous pouvez reprendre ce programme avec couper-coller, et apporter les changements nécessaires. Au lieu de chercher un minerai de titanium (\c;TitaniumOre\n;), cherchez une pile (\c;\l;PowerCell\u object\power;\n;). Au lieu d'aller ensuite vers un convertisseur (\c;Converter\n;), allez vers un robot shooter (\c;\l;WingedShooter\u object\botfj;\n;). Le shooter fera ensuite son travail. Pour savoir comment s'appellent les différents objets dans le langage de programmation, reportez-vous au \l;texte décrivant les catégories\u cbot\category;. +The best way to solve the present exercise is to copy \button 61; the program above into the clipboard (from \c;object\n; to \c;drop();\n;), and paste \button 62; it into the program editor. Then you just have to make the necessary changes in order to adapt it to the new task. -\b;Perfectionnement: les boucles +Vous pouvez reprendre ce programme avec couper-coller, et apporter les changements nécessaires. Au lieu de chercher un minerai de titanium (\c;TitaniumOre\n;), cherchez une pile (\c;\l;PowerCell\u object\power;\n;). Au lieu d'aller ensuite vers un convertisseur (\c;Converter\n;), allez vers un robot shooter (\c;\l;WingedShooter\u object\botfj;\n;). Le shooter fera ensuite son travail. + +Pour savoir comment s'appellent les différents objets dans le langage de programmation, reportez-vous au \l;texte décrivant les catégories\u cbot\category;. + +\t;Perfectionnement: les boucles Une fois que le programme expliqué ci-dessus fonctionne, vous pouvez l'améliorer de manière à ce qu'il répète les actions nécessaires tout seul. Vous n'aurez plus à exécuter le programme plusieurs fois pour qu'il équipe plusieurs robots. + Ajoutez simplement une instruction \c;\l;while\u cbot\while;(true)\n; au début du programme, avec toutes les instructions à répéter entre les accolades \c;{}\n;: \c; \s; while (true) @@ -36,13 +41,8 @@ Ajoutez simplement une instruction \c;\l;while\u cbot\while;(true)\n; au début \n; N'oubliez pas de déclararer la variable \c;object chose;\n; avant de l'utiliser la première fois. -\b;Remarque +\t;Remarque Un robot peut exécuter un programme tout seul: pendant ce temps, vous pouvez sélectionner le \l;cosmonaute\u object\human; et aller observer ce qui se passe vers le nid, en faisant cependant attention de ne pas vous mettre dans la ligne de tir. Les touches \key;\key gup;\norm; et \key;\key gdown;\norm; permettent de voler. Cliquez \l;ici\u command; pour voir le détail des commandes de déplacement. -\b;Messages -Lorsqu'un message s'affiche en haut de l'écran, vous pouvez visionner le lieu correspondant en cliquant sur le bouton \button 14; à gauche du message. L'action est mise en pause pendant ce temps. Cliquez le bouton \button 16; en bas à gauche pour reprendre l'action. - -\key;\key help;\norm; permet de revoir les instructions générales en tout temps. De même, \key;\key prog;\norm; accède aux explications du langage de programmation CBOT. - \t;Voir aussi \l;Exercice précédent\u tlaby2; et \l;programmation\u cbot;. diff --git a/levels/train201/help/F/tant1.txt b/levels/train201/help/F/tant1.txt index 26e0ea71..73d8697a 100644 --- a/levels/train201/help/F/tant1.txt +++ b/levels/train201/help/F/tant1.txt @@ -1,32 +1,16 @@ \b;Objectif Pour vous défendre contre des \l;fourmis\u object\ant; qui attaquent depuis le nord, effectuez un tir de barrage en faisant tourner le robot pendant la salve de tir. -\b;Principe +\t;Programme Quand on prend les commandes d'un robot shooter, on peut faire basculer le canon pendant la salve de tir et balayer ainsi toute une zone. Ceci est également possible quand on programme le shooter: on utilise l'instruction \c;\l;motor\u cbot\motor;( , )\n;. Cette instruction demande deux nombres: la vitesse du moteur de gauche, et la vitesse du moteur de droite. Les valeurs peuvent aller de -1 à 1.\c; motor(1,1);\n; fait avancer le robot à la vitesse maximum. \c;motor(-1,-1);\n; fait reculer le robot à la vitesse maximum.\c; motor(1,0.9);\n; le fait avancer avec un léger virage à droite: le moteur de droite tourne un peu moins vite. Et \c;motor(1,-1);\n; le fait tourner sur place vers la droite: le moteur de gauche avance, le moteur de droite recule. Les moteurs garderont la vitesse qu'on leur a donnée jusqu'à la prochaine instruction \c;motor\n;, \c;\l;move\u cbot\move;\n;, \c;\l;turn\u cbot\turn;\n; ou \c;\l;goto\u cbot\goto;\n;. Par exemple si on fait tourner le robot sur place avec \c;motor(1,-1);\n; et qu'ensuite on tire avec \c;\l;fire\u cbot\fire;(1);\n;, le robot continuera à tourner pendant le tir, et balayera toute une zone. -\b;Programme Les fourmis attaquent depuis le nord. Pour balayer toute la zone au nord du robot, il faut commencer par faire tourner le robot de 90 degrés vers la gauche avec \c;\l;turn\u cbot\turn;(90);\n;. - -Ensuite, il faut abaisser de canon de 5 degrés vers le bas avec \c;\l;aim\u cbot\aim;(-5);\n;, pour compenser le recul du canon. - -Finalement, il faut répéter à l'infini avec \c;\l;while\u cbot\while;(true)\n; le \l;bloc\u cbot\bloc; suivant: -1) Tourner le robot à droite -2) Feu pendant 2 secondes -3) Tourner le robot à gauche -4) Feu pendant 2 secondes - -Le programme complet est donc: -\s;o Tourner à gauche de 90 degrés -\s;o Abaisser le canon de 5 degrés vers le bas -\s;o Répéter toujours: -\s; o Tourner le robot à droite avec \c;motor(1,-1);\n; -\s; o Feu pendant 2 secondes avec \c;fire(2);\n; -\s; o Tourner le robot à gauche avec \c;motor(-1,1);\n; -\s; o Feu pendant 2 secondes avec \c;fire(2);\n; - -\key;\key help;\norm; permet de revoir ces instructions en tout temps! +o Tourner le robot à droite +o Feu pendant 2 secondes +o Tourner le robot à gauche +o Feu pendant 2 secondes \t;Voir aussi \l;Exercice précédent\u tremova4; et \l;programmation\u cbot;. diff --git a/levels/train202/help/F/tant2.txt b/levels/train202/help/F/tant2.txt index b202ca03..2ab60b13 100644 --- a/levels/train202/help/F/tant2.txt +++ b/levels/train202/help/F/tant2.txt @@ -1,7 +1,23 @@ \b;Objectif Le \l;robot shooter volant\u object\botfj; est au fond d'un trou. Des \l;fourmis\u object\ant; agressives arrivent plus haut, de tous les côtés. Il faudra donc décoller jusqu'au niveau des fourmis, puis tirer tout en maintenant une altitude constante. -\b;Décollage +\t;Programme +Pour tuer les fourmis, on les cherche avec le \c;\l;radar\u cbot\radar;()\n;, on tourne ensuite dans leur direction puis on tire une seconde. Le tout répété à l'infini avec une boucle \c;\l;while\u cbot\while;(true)\n; comme d'habitude: +\c; +\s;extern void object::Spider2() +\s;{ +\s; object item; +\s; +\s; while (true) +\s; { +\s; item = radar(AlienSpider); +\s; turn(direction(item.position)); +\s; fire(1); +\s; } +\s;} +\n; +N'oubliez pas de déclarer la variable \c;chose\n;, qui est de type \c;\l;object\u cbot\object;\n; + La commande \c;\l;jet\u cbot\jet;()\n; active le réacteur qui se trouve sous les robots volants. La valeur qu'on donne entre parenthèses doit être comprise entre \c;-1\n; et \c;1\n;.\c; jet(1);\n; fait monter le robot le plus vite possible.\c; jet(-1);\n; le fait descendre à la vitesse maximale, et \c;jet(0);\n; lui fait garder son altitude. Comme le robot doit atteindre une altitude précise, on le fait monter doucement avec \c;jet(0.2);\n;, on attend jusqu'à ce qu'il ait atteint l'altitude voulue, puis on le stabilise avec \c;jet(0);\n;. Pour "attendre que le robot ait atteint l'altitude voulue", il faut faire une boucle conditionnelle: ce qui se trouve à l'intérieur de la boucle se répète tant qu'une certaine condition est remplie. L'altitude du robot est donné par \c;position.z\n;. Nous avons vu que \c;position\n; donne la position du robot. Or une position est donnée par les trois coordonnées x, y et z de l'espace cartésien: l'axe des x est l'axe est-ouest, l'axe des y est l'axe nord-sud, et l'axe des z est l'axe vertical. Il suffit donc d'attendre tant que \c;position.z\n; est plus petit que 20 mètres, ce qui s'écrit: @@ -13,19 +29,5 @@ Pour "attendre que le robot ait atteint l'altitude voulue", il faut faire une bo \n; Toutes les 0.2 secondes, il va voir si l'altitude est encore inférieure à 20 mètres. Si oui, on attend encore. Si non, on continue. N'oubliez pas après cette boucle de stabiliser l'altitude avec \c;jet(0);\n;. -\b;Tir -Pour tuer les fourmis, on les cherche avec le \c;\l;radar\u cbot\radar;()\n;, on tourne ensuite dans leur direction puis on tire une seconde. Le tout répété à l'infini avec une boucle \c;\l;while\u cbot\while;(true)\n; comme d'habitude: -\c; -\s; while ( true ) -\s; { -\s; chose = radar(AlienAnt); -\s; turn(direction(chose.position)); -\s; fire(1); -\s; } -\n; -N'oubliez pas de déclarer la variable \c;chose\n;, qui est de type \c;\l;object\u cbot\object;\n; - -\key;\key help;\norm; permet de revoir ces instructions en tout temps! - \t;Voir aussi \l;Exercice précédent\u tballis1; et \l;programmation\u cbot;. diff --git a/levels/train203/help/F/tant3.txt b/levels/train203/help/F/tant3.txt index b83f99d6..e5db48ba 100644 --- a/levels/train203/help/F/tant3.txt +++ b/levels/train203/help/F/tant3.txt @@ -1,7 +1,7 @@ \b;Objectif Adaptez le programme précédent pour le rendre moins gourmand en énergie. -\b;Programme +\t;Programme Le programme étudié précédemment tire dans la direction de la \l;fourmi\u object\ant; la plus proche, même si elle est encore hors de portée du canon: \c; \s;extern void object::Tour1() @@ -32,9 +32,9 @@ On peut donner à l'instruction \c;\l;radar\u cbot\radar;();\n; des paramètres \s; wait(0.2); \s; } \n; -Il suffit d'insérer ces lignes avant l'instruction \c;\l;fire\u cbot\fire;(1);\n; pour que le robot attende avant de tirer que la fourmi soit à moins de 40 mètres. Ainsi, une pile normale permet de tuer toutes les fourmis. +Notice that two equal signs "==" are needed to perform a comparison of equality. -\key;\key help;\norm; permet de revoir ces instructions en tout temps! +Il suffit d'insérer ces lignes avant l'instruction \c;\l;fire\u cbot\fire;(1);\n; pour que le robot attende avant de tirer que la fourmi soit à moins de 40 mètres. Ainsi, une pile normale permet de tuer toutes les fourmis. \t;Voir aussi \l;Exercice précédent\u tant2; et \l;programmation\u cbot;. diff --git a/levels/train204/help/F/tant4.txt b/levels/train204/help/F/tant4.txt index 5b5c3435..1c98092d 100644 --- a/levels/train204/help/F/tant4.txt +++ b/levels/train204/help/F/tant4.txt @@ -1,25 +1,10 @@ \b;Objectif Programmez un \l;orgaShooter volant\u object\botoj; pour qu'il aille à la rencontre des \l;fourmis\u object\ant;. -\b;Programme -Dans ce terrain marécageux, un shooter à roues ou à chenilles est inopérant. En plus, les fourmis se déplacent: on ne peut donc pas se tourner en direction de la fourmi la plus proche, avancer, puis tirer. Le moyen le plus simple consiste à monter à une altitude de 10 mètres, à viser vers le bas avec \c;\l;aim\u cbot\aim;(-20);\n;, puis à s'approcher avec une boucle conditionnelle tant que la distance est supérieure à 20 mètres. Dans cette boucle, il faut chercher la fourmi la plus proche, se tourner vers elle, mettre les moteurs en avant toute avec \c;\l;motor\u cbot\motor;(1,1);\n;, puis attendre un petit moment, par exemple 0.2 secondes. Toutes ces instructions seront donc répétées jusqu'à ce que la fourmi soit à moins de 20 mètres et puisse être atteinte. +\t;Programme +Dans ce terrain marécageux, un shooter à roues ou à chenilles est inopérant. En plus, les fourmis se déplacent: on ne peut donc pas se tourner en direction de la fourmi la plus proche, avancer, puis tirer. -\s;o Abaisser le canon de 20 degrés vers le bas -\s;o Mettre la puissance du réacteur à 0.2 -\s;o Répéter tant que l'altitude est inférieure à 10 mètres : -\s; o Attendre 0.2 secondes -\s;o Mettre la puissance du réacteur à 0 -\s;o Répéter à l'infini : -\s; o Répéter tant que le radar ne détecte pas de -\s; fourmi à moins de 20 mètres : -\s; o Tourner en direction de la fourmi -\s; o Mettre les moteurs à fond -\s; o Attendre 0.2 secondes -\s; o Tirer 1 seconde - -Les instructions suivantes seront nécessaires: \c;\l;aim\u cbot\aim;\n;, \c;\l;jet\u cbot\jet;\n;, \c;\l;while\u cbot\while;\n;, \c;\l;wait\u cbot\wait;\n;, \c;\l;radar\u cbot\radar;\n;, \c;\l;direction\u cbot\direct;\n;, \c;\l;turn\u cbot\turn;\n;, \c;\l;motor\u cbot\motor;\n; et \c;\l;fire\u cbot\fire;\n;. - -\key;\key help;\norm; permet de revoir ces instructions en tout temps! +Le moyen le plus simple consiste à monter à une altitude de 10 mètres, à viser vers le bas avec \c;\l;aim\u cbot\aim;(-20);\n;, puis à s'approcher avec une boucle conditionnelle tant que la distance est supérieure à 20 mètres. Dans cette boucle, il faut chercher la fourmi la plus proche, se tourner vers elle, mettre les moteurs en avant toute avec \c;\l;motor\u cbot\motor;(1,1);\n;, puis attendre un petit moment, par exemple 0.2 secondes. Toutes ces instructions seront donc répétées jusqu'à ce que la fourmi soit à moins de 20 mètres et puisse être atteinte. \t;Voir aussi \l;Exercice précédent\u tant3; et \l;programmation\u cbot;. diff --git a/levels/train205/help/F/tant5.txt b/levels/train205/help/F/tant5.txt index 6cdbedc3..6d02bfd5 100644 --- a/levels/train205/help/F/tant5.txt +++ b/levels/train205/help/F/tant5.txt @@ -1,7 +1,7 @@ \b;Objectif Adaptez la hauteur de vol du \l;orgaShooter volant\u object\botoj; à la topologie du terrain. -\b;Programme +\t;Programme Voici encore une fois le programme de l'exercice précédent qui tire sur les \l;fourmis\u object\ant;: \c; \s;extern void object::Chasseur1() @@ -47,7 +47,5 @@ Il faut commencer par stabiliser l'altitude avec \c;jet(0);\n; pour que dans le Il suffit d'insérer ces quelques lignes avant le \c;wait(0.2)\n; pour que le robot s'adapte au relief. On peut alors effacer les premières lignes qui font monter le robot à une altitude de 10 mètres. -\key;\key help;\norm; permet de revoir ces instructions en tout temps! - \t;Voir aussi \l;Exercice précédent\u tant4; et \l;programmation\u cbot;. diff --git a/levels/train206/help/F/twasp1.txt b/levels/train206/help/F/twasp1.txt index 6a0c05d8..a9e9b655 100644 --- a/levels/train206/help/F/twasp1.txt +++ b/levels/train206/help/F/twasp1.txt @@ -1,7 +1,7 @@ \b;Objectif Attraper des \l;guêpes\u object\wasp; en vol. -\b;Programme +\t;Programme Voici encore une fois le programme de l'exercice précédent qui tire sur les fourmis en s'adaptant à la topologie du terrain: \c; \s;extern void object::Chasseur2() @@ -35,7 +35,9 @@ Voici encore une fois le programme de l'exercice précédent qui tire sur les fo \n; Pour que le shooter soit capable d'attraper des guêpes en vol, il faut faire quelques changements. Il faut remplacer tous les \c;\l;radar\u cbot\radar;(AlienAnt)\n; par \c;radar(AlienWasp)\n;. Le canon doit viser tout droit et non pas vers le bas, remplacez \c;\l;aim\u cbot\aim;(-20);\n; par \c;aim(0);\n;. Et le robot doit voler à la même altitude que la guêpe. Pour cela, il faut comparer l'altitude du robot donnée par \c;position.z\n; avec l'altitude de la guêpe donné par \c;chose.position.z\n;. Si \c;position.z > chose.position.z\n;, il faut descendre doucement avec \c;\l;jet\u cbot\jet;(-0.3);\n;. Si \c;position.z < chose.position.z-1\n;, il faut monter doucement avec \c;\l;jet\u cbot\jet;(0.3);\n;. Comme un robot shooter est plus haut qu'une guêpe, il vaut mieux que le robot soit un peu plus bas: on admet donc que l'altitude du robot soit située entre l'altitude de la guêpe et l'altitude de la guêpe moins 1. -\b;Perfectionnement +\t;Perfectionnement Les guêpes se déplacent très vite. Pour avoir plus de chances de les attraper, il vaut mieux juste avant le \c;\l;fire\u cbot\fire;(1);\n; refaire un \c;\l;radar\u cbot\radar;()\n; et un \c;\l;turn\u cbot\turn;()\n; pour faire un dernier ajustement de la direction avant le tir. -\key;\key help;\norm; permet de revoir ces instructions en tout temps! + +\t;Voir aussi +\l;Exercice précédent\u tant4; et \l;programmation\u cbot;. diff --git a/levels/train207/help/F/twasp2.txt b/levels/train207/help/F/twasp2.txt index 684bf387..cb9ed2b2 100644 --- a/levels/train207/help/F/twasp2.txt +++ b/levels/train207/help/F/twasp2.txt @@ -37,9 +37,7 @@ Voici encore une fois le programme de l'exercice précédent qui tire sur les gu \s; } \s;} \n; -Comme vous l'avez constaté, le taux de réussite de ce programme n'est pas très élevé, car les guèpes ont souvent le temps de partir. - -Le seul moyen pour rendre le programme plus efficace consiste à régler la vitesse des moteurs de gauche et de droite ainsi que du réacteur de manière à ce que le mouvement du robot pendant la salve de tir accompagne le mouvement de la cible. +Comme vous l'avez constaté, le taux de réussite de ce programme n'est pas très élevé, car les guèpes ont souvent le temps de partir. Le seul moyen pour rendre le programme plus efficace consiste à régler la vitesse des moteurs de gauche et de droite ainsi que du réacteur de manière à ce que le mouvement du robot pendant la salve de tir accompagne le mouvement de la cible. Juste avant le tir, le programme fait un dernier ajustement avec un \c;\l;turn\u cbot\turn;(\l;direction\u cbot\direct;(chose.position));\n;. Pour suivre la guêpe, il faut mémoriser l'angle de cette dernière rotation: si l'angle est positif, il faut continuer à tourner à gauche pendant le tir; si l'angle est négatif, il faut continuer à tourner à droite. @@ -82,4 +80,5 @@ Puis il faut remettre les instructions qui règlent la puissance du réacteur po \n; Comme vous pourrez le constater, le taux de réussite est nettement plus élevé que dans l'exercice précédent. -\key;\key help;\norm; permet de revoir ces instructions en tout temps! +\t;Voir aussi +\l;Exercice précédent\u tant4; et \l;programmation\u cbot;. diff --git a/levels/train301/help/F/tmove1.txt b/levels/train301/help/F/tmove1.txt index 19d67e86..875fdadc 100644 --- a/levels/train301/help/F/tmove1.txt +++ b/levels/train301/help/F/tmove1.txt @@ -5,10 +5,8 @@ Déplacer le robot d'entraînement sur la plate-forme d'arrivée, en passant par 1) Sélectionner le \l;cosmonaute\u object\human; en cliquant le bouton \button 136; en haut à gauche. 2) Se promener pour étudier le chemin à suivre. 3) Sélectionner le \l;robot\u object\bottr; en cliquant le bouton \button 158; en haut à gauche. -4) Programmer le robot en cliquant sur le bouton \button 22;. -5) Exécuter le programme \button 21;. +4) Programmer le robot en cliquant sur le bouton \button 22;. Exécuter le programme \button 21;. -Pour savoir comment diriger le \l;cosmonaute\u object\human;, cliquez \l;ici\u command;. \b;Programme Les plates-formes et les indicateurs sont tous distants de 20 mètres. @@ -33,7 +31,5 @@ Vous pouvez mettre plusieurs instructions par ligne, ou chaque instruction sur u \b;Astuce Pendant l'édition du programme, vous pouvez observer la scène en cliquant le bouton \button 51;, puis en déplaçant la souris dans les bords de la fenêtre. -\key;\key help;\norm; permet de revoir ces instructions en tout temps! - \t;Voir aussi \l;Exercice précédent\u tsquare2; et \l;programmation\u cbot;. diff --git a/levels/train302/help/D/tmove2.txt b/levels/train302/help/D/tmove2.txt index 14e873f5..9d1e5a38 100644 --- a/levels/train302/help/D/tmove2.txt +++ b/levels/train302/help/D/tmove2.txt @@ -20,9 +20,9 @@ We write : \n; \b;Variables A \l;variable\u cbot\var; is composed of three elements: -1) The name -2) The type of the content -3) The content +1) The name, +2) The type of the content, +3) The content. \t;The name Use the name to refer to a variable. For example, instead of writing \c;move(20);\n;, write \c;move(dist);\n;: "dist" is the name of the variable. You can choose almost any name for a variable, for example \c;dist\n;, \c;dir\n;, \c;p2\n;, \c;a\n;, \c;x\n;, \c;nothing_2_grab\n;, etc. diff --git a/levels/train302/help/E/tmove2.txt b/levels/train302/help/E/tmove2.txt index 14e873f5..9d1e5a38 100644 --- a/levels/train302/help/E/tmove2.txt +++ b/levels/train302/help/E/tmove2.txt @@ -20,9 +20,9 @@ We write : \n; \b;Variables A \l;variable\u cbot\var; is composed of three elements: -1) The name -2) The type of the content -3) The content +1) The name, +2) The type of the content, +3) The content. \t;The name Use the name to refer to a variable. For example, instead of writing \c;move(20);\n;, write \c;move(dist);\n;: "dist" is the name of the variable. You can choose almost any name for a variable, for example \c;dist\n;, \c;dir\n;, \c;p2\n;, \c;a\n;, \c;x\n;, \c;nothing_2_grab\n;, etc. diff --git a/levels/train302/help/F/tmove2.txt b/levels/train302/help/F/tmove2.txt index 294c7d5d..1f32e3e9 100644 --- a/levels/train302/help/F/tmove2.txt +++ b/levels/train302/help/F/tmove2.txt @@ -1,9 +1,7 @@ \b;Exercice Cet exercice est presque semblable au précédent. Le \l;robot\u object\bottr; doit effectuer un déplacement identique, mais en utilisant un concept nouveau et très important dans les langages informatiques: les \l;variables\u cbot\var;. - Il n'est pas forcément facile de se souvenir qu'il faut utiliser \c;90\n; pour virer à gauche et \c;-90\n; pour virer à droite avec l'instruction \c;\l;turn\n;\u cbot\turn;. En stockant ces valeurs dans deux variables que l'on nomme \c;gauche\n; et \c;droite\n;, l'écriture devient plus simple. -\b;Principe On remplace: \c;\s;move(20); \s;turn(90); @@ -22,8 +20,8 @@ Par: \n; \b;Les variables Une \l;variable\u cbot\var; est décrite par trois éléments: -1) Son nom. -2) Le type du contenu. +1) Son nom, +2) Le type du contenu, 3) Le contenu. \t;Le nom @@ -46,10 +44,6 @@ Avant d'être utilisée, une variable doit être déclarée. Par exemple, avant \s;float gauche; \s;float droite; \n; -Ceci peut s'écrire plus simplement: -\c; -\s;float gauche, droite; -\n; Ces deux variables peuvent maintenant être utilisées. Pour mettre la valeur 90 dans \c;gauche\n; et -90 dans \c;droite\n;, il suffit d'écrire: \c; \s;gauche = 90; @@ -61,10 +55,14 @@ Il est maintenant possible de faire tourner le \l;robot\u object\bottr; avec l'i \s;\n; ou\c; \s;turn(droite); \n; -\b;À vous de jouer -A vous maintenant de ré-écrire le programme de l'exercice précédent, en utilisant deux variables pour tourner à gauche et à droite. +You can also use a whole \l;mathematical expression\u cbot\expr; instead of just the variable: +\c; +\s; move(dist+100); +\s; turn(-dir); +\n; +The latter instruction will be needed to turn the bot right. -\key;\key help;\norm; permet de revoir ces instructions en tout temps! +A vous maintenant de ré-écrire le programme de l'exercice précédent, en utilisant deux variables pour tourner à gauche et à droite. \t;Voir aussi \l;Exercice précédent\u tmove1; et \l;programmation\u cbot;. diff --git a/levels/train302/help/R/tmove2.txt b/levels/train302/help/R/tmove2.txt index 93a386f9..1cfc5f68 100644 --- a/levels/train302/help/R/tmove2.txt +++ b/levels/train302/help/R/tmove2.txt @@ -20,9 +20,9 @@ \n; \b;Переменные \l;Переменная\u cbot\var; состоит из трех элементов: -1) Имя -2) Тип содержания -3) Содержание +1) Имя, +2) Тип содержания, +3) Содержание. \t;Имя Используйте имя, чтобы обращаться к переменной. Например, вместо того, чтобы писать \c;move(20);\n;, напишите \c;move(dist);\n;: "dist" - это имя переменной. Для переменных вы можете выбирать любое имя, например \c;dist\n;, \c;dir\n;, \c;p2\n;, \c;a\n;, \c;x\n;, \c;nothing_2_grab\n;, и т.п. diff --git a/levels/train304/help/F/texch1.txt b/levels/train304/help/F/texch1.txt index 1953dec8..a8078dc5 100644 --- a/levels/train304/help/F/texch1.txt +++ b/levels/train304/help/F/texch1.txt @@ -3,17 +3,14 @@ Des \l;bornes d'informations\u object\exchange; sont placées au milieu d'un cha Les bornes sont distantes de 20 mètres. \b;Principe -\s;o Répéter 5 fois: -\s; o Avancer de 20 mètres. -\s; o Lire la nouvelle direction dans la \l;borne\u object\exchange;. -\s; o Tourner de l'angle obtenu. +Répéter 5 fois: + o Avancer de 20 mètres. + o Lire la nouvelle direction dans la \l;borne\u object\exchange;. + o Tourner de l'angle obtenu. \image tinfo1 8 8; -La répétition s'effectue avec une boucle \c;\l;repeat\u cbot\repeat;\n; comme vu précédemment: -\s;\c; repeat ( 5 ) -\s; { -\s; \n;instructions à répéter ...\c; -\s; } +La répétition s'effectue avec une boucle \c;\l;for\u cbot\for;\n; comme vu précédemment: +\s;\c; for ( int i=0 ; i<5 ; i=i+1 ) \n; L'avance s'effectue avec un \c;\l;move\u cbot\move;(20);\n;. @@ -30,7 +27,5 @@ Ce qui permet de tourner dans la bonne direction avec: \b;Remarque En cliquant sur une \l;borne\u object\exchange; pour la sélectionner, vous pouvez voir les paramètres qu'elle contient. Dans cet exercice, chaque borne contient une seule information appelée \c;"Direction"\n;, mais une borne peut contenir jusqu'à 10 valeurs. Ceci sera utilisé dans des exercices ultérieurs. -\key;\key help;\norm; permet de revoir ces instructions en tout temps! - \t;Voir aussi \l;Exercice précédent\u ttit2; et \l;programmation\u cbot;. diff --git a/levels/train304/help/P/texch1.txt b/levels/train304/help/P/texch1.txt index 0d741799..0f61ec0d 100644 --- a/levels/train304/help/P/texch1.txt +++ b/levels/train304/help/P/texch1.txt @@ -24,7 +24,7 @@ Aby odczytać kąt obrotu ze stacji przekaźnikowej, przypisz zmiennej jej warto Następnie wykonaj obrót: \s;\c; turn(dir); \n; -\t;Uwaga +\b;Uwaga Możesz kliknąć na \l;stacji przekaźnikowej informacji\u object\exchange; aby przeczytać zawarte w niej informacje. W tym ćwiczeniu każda stacja przekaźnikowa zawiera tylko jedną wartość zwaną \c;"Direction"\n; (kierunek), ale może zawierać do 10 różnych wartości, o czym przekonasz się w niektórych z dalszych ćwiczeń. \t;Zobacz również diff --git a/levels/train305/help/F/texch2.txt b/levels/train305/help/F/texch2.txt index 062a1b5d..be4c0b03 100644 --- a/levels/train305/help/F/texch2.txt +++ b/levels/train305/help/F/texch2.txt @@ -2,19 +2,16 @@ 9 \l;bornes\u object\exchange; d'informations sont placées le long d'un chemin. Lorsque le \l;robot\u object\bottr; est proche d'une borne, il peut lire les informations qu'elle contient et qui donnent la direction et la distance jusqu'à la borne suivante. \b;Principe -\s;o Répéter 9 fois: -\s; o Lire la direction dans la \l;borne\u object\exchange;. -\s; o Lire la longueur dans la \l;borne\u object\exchange;. -\s; o Tourner dans la direction obtenue. -\s; o Avancer de la longueur obtenue. + Repeat forever: + o Lire la direction dans la \l;borne\u object\exchange;. + o Lire la longueur dans la \l;borne\u object\exchange;. + o If no information could be retrieved, stop the program. + o Tourner dans la direction obtenue. + o Avancer de la longueur obtenue. -La répétition s'effectue avec une boucle \c;\l;repeat\u cbot\repeat;\n; comme vu précédemment: -\s;\c; repeat ( 9 ) -\s; { -\s; \n;instructions à répéter ...\c; -\s; } +In order to repeat always, use a \c;\l;while\u cbot\while; (true)\n; loop. The instructions between the braces \c;{ }\n; will be repeated over and over, or until a \c;\l;break\u cbot\break;\n; instruction is executed. +\s;\c; while ( true ) \n; -La lecture de la \l;borne\u object\exchange; s'obtient avec \c;\l;receive\u cbot\receive;("name");\n;. Ceci n'est évidemment possible que lorsque le \l;robot\u object\bottr; est proche de la borne. L'orientation du robot n'a pas d'importance. Il faut définir deux \l;variables\u cbot\var; \c;dir\n; et \c;len\n;: \s;\c; float dir, len; \n; @@ -22,7 +19,11 @@ Et ensuite leur assigner la direction à prendre et la longueur à avancer: \s;\c; dir = receive("Direction"); \s;\c; len = receive("Length"); \n; -Il faut ensuite tourner dans la bonne direction avec: +A variable of the \l;type\u cbot\type; \c;\l;float\u cbot\float;\n; can take a special value called \c;\l;nan\u cbot\nan;\n;. This value means that the variable contains no number (Not A Number). +When there is no \l;exchange post\u object\exchange; nearby, either because the bot has reached the goal, or because it took the wrong way, the two variables \c;dir\n; and \c;len\n; contain this value. You can test this with the instruction \c;\l;if\u cbot\if;\n;, and stop the program if necessary with the instruction \c;\l;break\u cbot\break;\n;: +\s;\c; if ( dir == nan ) break; +\n; +If the information retrieval from the \l;exchange post\u object\exchange; has been performed successfully, execute the rotation: \s;\c; turn(dir); \n; Puis avancer avec: @@ -31,10 +32,5 @@ Puis avancer avec: \b;Remarque En cliquant sur une \l;borne\u object\exchange; pour la sélectionner, vous pouvez voir les paramètres qu'elle contient. Dans cet exercice, chaque borne contient deux informations appelées \c;"Direction"\n; et \c;"Length"\n;. -\b;Et pendant qu'on y est -N'oubliez pas que, pendant que le robot avance de borne en borne, vous pouvez changer de vue en cliquant sur l'icône \button 13; ou en appuyant sur la barre d'espace. Vous pouvez également sélectionner le \l;cosmonaute\u object\human; et suivre le robot à l'aide des \l;touches flèches\u command;. Mais attention, dans ce cas, à ne pas le heurter, ce qui le ferait dévier inéxorablement de sa trajectoire! - -\key;\key help;\norm; permet de revoir ces instructions en tout temps! - \t;Voir aussi \l;Exercice précédent\u texch1; et \l;programmation\u cbot;. diff --git a/levels/train305/help/P/texch2.txt b/levels/train305/help/P/texch2.txt index 65c23e40..b3e640c0 100644 --- a/levels/train305/help/P/texch2.txt +++ b/levels/train305/help/P/texch2.txt @@ -29,7 +29,7 @@ Jeśli pomyślnie pobrano informacje ze \l;stacji przekaźnikowej\u object\excha I idź naprzód: \s;\c; move(len); \n; -\t;Uwaga +\b;Uwaga Możesz kliknąć na \l;stacji przekaźnikowej informacji\u object\exchange; aby przeczytać zawarte w niej informacje. W tym ćwiczeniu, każda stacja przekaźnikowa zawiera dwie wartości \c;"Direction"\n; (kierunek) i \c;"Length"\n; (odległość). \t;Zobacz również diff --git a/levels/train306/help/F/tlaby1.txt b/levels/train306/help/F/tlaby1.txt index bc82000d..f24f22f2 100644 --- a/levels/train306/help/F/tlaby1.txt +++ b/levels/train306/help/F/tlaby1.txt @@ -1,15 +1,6 @@ \b;Exercice Programmez le \l;robot\u object\bottr; pour qu'il avance sans se cogner dans un labyrinthe. On part du principe que le labyrinthe n'est pas connu d'avance, et qu'il n'est constitué que d'un chemin, sans aucune bifurcation ni cul-de-sac. Les cases du labyrinthe sont des carrés de 5 mètres de côté. -\b;Principe -Le programme s'occupe de résoudre le déplacement d'une case dans la suivante. Comme il y a un nombre de cases inconnu, il faudrait englober tout le programme dans une boucle \c;\l;repeat\u cbot\repeat;(9999)\n;. Bien que cela fonctionnerait parfaitement, il est préférable d'utiliser un autre concept. Pour répéter un \l;bloc\u cbot\bloc; d'instructions à l'infini, on écrit \c;\l;while\u cbot\while;(true)\n;. Le programme sera donc: -\s;\c;while ( true ) -\s;{ -\s; \n;o Si rien devant, avancer\c; -\s; \n;o Si rien à gauche, quart de tour à gauche puis avancer\c; -\s; \n;o Si rien à droite, quart de tour à droite puis avancer\c; -\s;} -\n; \b;L'instruction \c;radar\n; L'instruction \c;\l;radar\u cbot\radar;(Barrier, 0, 45, 0, 5);\n; teste la présence d'une \l;barrière\u object\barrier; devant le robot. Détaillons les cinq paramètres utilisés: @@ -31,7 +22,12 @@ Distance maximale de détection. Au delà de \c;5\n; mètres, les barrières son Par exemple, \c;\l;radar\u cbot\radar;(Barrier, 90, 45, 0, 5);\n; dirige le radar 90 degrés sur la gauche, pour tester si le chemin est libre à gauche. \image tlaby1 10 10; -\b;Programme +\b;Principe +The program must only take care of one square portion of the labyrinth. You will have to execute it several times in order to arrive at the finishing pad. +o Si rien devant, avancer +o Si rien à gauche, quart de tour à gauche puis avancer +o Si rien à droite, quart de tour à droite puis avancer + 1) On déclare trois \l;variables\u cbot\var; de type \c;\l;object\u cbot\object;\n;, appelées \c;front\n;, \c;left\n; et \c;right\n;. Ce type indique une variable qui décrit l'objet trouvé. \s;\c; object front, left, right;\n; @@ -62,10 +58,5 @@ Le \c;\l;continue\u cbot\continue;\n; stoppe l'exécution des instructions suiva \b;Attention La ligne \c;if ( )\n; ne doit jamais être suivie d'un \l;point-virgule\u cbot\term;. -\b;Enregistrer -Lorsque le programme est terminé et qu'il fonctionne, il est conseillé de l'enregistrer, car vous en aurez encore besoin dans l'exercice suivant. Pour cela, cliquez sur \button 58; dans l'éditeur de programmes, puis donnez un nom à votre programme. - -\key;\key help;\norm; permet de revoir ces instructions en tout temps! - \t;Voir aussi \l;Exercice précédent\u ttarg2; et \l;programmation\u cbot;. diff --git a/levels/train307/help/F/tlaby2.txt b/levels/train307/help/F/tlaby2.txt index ceb2e1ef..994b1a50 100644 --- a/levels/train307/help/F/tlaby2.txt +++ b/levels/train307/help/F/tlaby2.txt @@ -1,13 +1,56 @@ \b;Exercice Le programme écrit dans l'\l;exercice précédent\u tlaby1; doit fonctionner quel que soit la disposition du labyrinthe. Pour vérifier cela, exécutez le même programme. Le \l;robot\u object\bottr; devrait se déplacer correctement dans ce nouveau labyrinthe qu'il ne connait pas. -\b;Ouvrir -Si vous avez bien enregistré votre programme dans l'exercice précédent, vous pouvez l'ouvrir ici, en cliquant \button 57; dans l'éditeur de programmes. +\b;Remark +The labyrinth is not exactly the same, but this should be of no importance, as the program adapts to what it "sees". + +\image tlaby1 10 10; +\b;General principle +Use an infinite \c;\l;while\u cbot\while;\n; loop in order to execute the previous program several times: +\s;\c;while ( true ) +\s;{ +\s; \n;If there is nothing in front, move forward\c; +\s; \n;If there is nothing on your left hand, turn left\c; +\s; \n;If there is nothing on your right hand, turn right\c; +\s;} +\n; +Inside this \c;while\n; loop, replace the \c;return\n; instructions by \c;\l;continue\u cbot\continue;\n; instructions. \c;return\n; would quit the program, which is not what we want here. \c;continue\n; will just resume the execution at the beginning of the \c;\l;while\u cbot\while;\n; loop: +\s;\c;if ( front == null ) +\s;{ +\s; move(5); +\s; continue; +\s;} +\n; +\b;Remember +Here is again the program of the previous exercise : +\c; +\s;object front, left, right; +\s; +\s;front = radar(Barrier, 0, 45, 0, 5); +\s;left = radar(Barrier, 90, 45, 0, 5); +\s;right = radar(Barrier, -90, 45, 0, 5); +\s; +\s;if ( front == null ) +\s;{ +\s; move(5); +\s; return; +\s;} +\s;if ( left == null ) +\s;{ +\s; turn(90); +\s; move(5); +\s; return; +\s;} +\s;if ( right == null ) +\s;{ +\s; turn(-90); +\s; move(5); +\s; return; +\s;} +\n; \b;Aide Si vous avez besoin d'aide, consultez la documentation des instructions \c;\l;while\u cbot\while;\n;, \c;\l;radar\u cbot\radar;\n;, \c;\l;if\u cbot\if;\n;, \c;\l;move\u cbot\move;\n; et \c;\l;turn\u cbot\turn;\n;. -\key;\key help;\norm; permet de revoir ces instructions en tout temps! - \t;Voir aussi \l;Exercice précédent\u tlaby1; et \l;programmation\u cbot;. diff --git a/levels/train308/help/F/tsniff.txt b/levels/train308/help/F/tsniff.txt index ba737136..8fde01c2 100644 --- a/levels/train308/help/F/tsniff.txt +++ b/levels/train308/help/F/tsniff.txt @@ -41,7 +41,5 @@ A vous de terminer le programme ... L'instruction \c;\l;sniff\u cbot\sniff;( )\n; effectue un sondage. Utilisez également les instructions \c;\l;move\u cbot\move;( )\n; et \c;\l;turn\u cbot\turn;( )\n;. -\key;\key help;\norm; permet de revoir ces instructions en tout temps! - \t;Voir aussi \l;Exercice précédent\u tcell2; et \l;programmation\u cbot;. diff --git a/levels/train309/help/F/tremote1.txt b/levels/train309/help/F/tremote1.txt index 62747b54..d00dc03a 100644 --- a/levels/train309/help/F/tremote1.txt +++ b/levels/train309/help/F/tremote1.txt @@ -34,7 +34,5 @@ Pour effectuer cet exercice, il faut: A vous de terminer le programme ... -\key;\key help;\norm; permet de revoir ces instructions en tout temps! - \t;Voir aussi \l;Exercice précédent\u tsniff; et \l;programmation\u cbot;. diff --git a/levels/train309/help/R/tremote1.txt b/levels/train309/help/R/tremote1.txt index 87158cec..e0591011 100644 --- a/levels/train309/help/R/tremote1.txt +++ b/levels/train309/help/R/tremote1.txt @@ -1,6 +1,5 @@ \b;Упражнение Написать программу для бота так, чтобы он мог транспортировать \l;урановую руду\u object\uranore;, используя \l;пост обмена информацией\u object\exchange; как пульт дистанционного управления. - Что потребуется¦: 1) \l;Сниффер\u object\botsr; (не может ничего нести). @@ -23,6 +22,8 @@ \c;\s; \l;send\u cbot\send;("order", 3, 100); // order 3 -> "move(10)" \n; После отправки инструкций ждем 5 секунд, чтобы убедиться, что программа работает. +\c;\s; \l;wait\u cbot\wait;(5); +\n; Примечание: Существует более лучший способ для выполнения данной миссии, но мы увидим его позже в упражнении "Дистанционное управление № 2». Для завершения упражнения вы должны¦: @@ -32,5 +33,7 @@ 3) Положить урановую руду 4) Отъехать назад на 10 метров +It's up to you to write the program. + \t;Смотри также \l;Язык CBOT\u cbot;, \l;Переменные\u cbot\type; и \l;Категории\u cbot\category;. diff --git a/levels/train401/help/F/tdragst.txt b/levels/train401/help/F/tdragst.txt index 82cc3b98..748cbec4 100644 --- a/levels/train401/help/F/tdragst.txt +++ b/levels/train401/help/F/tdragst.txt @@ -24,14 +24,17 @@ L'instruction \c;\l;distance\u cbot\dist;(p1, p2);\n; retourne la distance entre La \l;variable\u cbot\object; \c;position\n; donne la position actuelle du \l;robot\u object\bottr;. Donc, \c;distance(position, start);\n; retourne la distance parcourue. \b;Marche à suivre -1) Mémoriser la position de départ: +1) declare the variables \s;\c; point start; -\s; start = position; +\s; float len; \n; -2) Démarrer à fond: +2) Mémoriser la position de départ: +\s;\c; start = position; +\n; +3) Démarrer à fond: \s;\c; motor(1, 1); \n; -3) Faire une boucle infinie \c;\l;while\u cbot\while;\n;: +4) Faire une boucle infinie \c;\l;while\u cbot\while;\n;: \s;\c; while ( true ) \s; { \s; float len = distance(position, start); @@ -52,12 +55,11 @@ o S'il reste \c;0.0\n; mètre -> consigne = \c;0.00\n; (arrêt) \image tdragst1 12 6; L'\l;expression\u cbot\expr; \c;(25-len)/2\n; est donc parfaite pour cela. + A vous de terminer le programme ... \b;Remarque Si les consignes données sont des valeurs plus grandes que 1, le \l;robot\u object\bottr; n'avance pas plus vite. -\key;\key help;\norm; permet de revoir ces instructions en tout temps! - \t;Voir aussi \l;Exercice précédent\u tremote1; et \l;programmation\u cbot;. diff --git a/levels/train401/help/P/tdragst.txt b/levels/train401/help/P/tdragst.txt index ca5b786e..979b71b9 100644 --- a/levels/train401/help/P/tdragst.txt +++ b/levels/train401/help/P/tdragst.txt @@ -57,7 +57,7 @@ Do obliczenia prędkości, która zostanie podana silnikom możesz użyć nastę Do Ciebie należy złożenie tego wszystkiego razem i przetestowanie programu. -\t;Uwaga +\b;Uwaga Możesz używać wartości większych od 1 dla instrukcji \c;\l;motor\u cbot\motor;();\n;, ale robot nie będzie poruszał się szybciej. \t;Zobacz również diff --git a/levels/train402/help/F/tradar1.txt b/levels/train402/help/F/tradar1.txt index 21019e08..baf0fefa 100644 --- a/levels/train402/help/F/tradar1.txt +++ b/levels/train402/help/F/tradar1.txt @@ -1,11 +1,11 @@ \b;Exercice Programmez le \l;robot\u object\bottr; pour qu'il trouve toutes les \l;croix bleues\u object\waypoint; posées au sol. Dès que le robot est sur une croix, elle disparaît. Le principe à utiliser est le suivant: -\s;o Répéter à l'infini: -\s; o Chercher une croix -\s; o Si rien n'est trouvé, stopper -\s; o Calculer la direction de la croix -\s; o Donner une consigne de vitesse aux moteurs pour se diriger dans la bonne direction +Répéter à l'infini: + o Chercher une croix + o Si rien n'est trouvé, stopper + o Calculer la direction de la croix + o Donner une consigne de vitesse aux moteurs pour se diriger dans la bonne direction \b;Le programme La boucle infinie s'écrit avec \c;\l;while\u cbot\while;\n;: @@ -53,7 +53,5 @@ Le même raisonnement s'applique lorsque la direction est positive, comprise ent \n; Pour que ce programme fonctionne, il faut encore déclarer toutes les variables utilisées, au début. \c;spot\n; est de type \c;\l;object\u cbot\object;\n;, alors que \c;dir\n; est de type \c;\l;float\u cbot\float;\n;. -\key;\key help;\norm; permet de revoir ces instructions en tout temps! - \t;Voir aussi \l;Exercice précédent\u tcircle3; et \l;programmation\u cbot;. diff --git a/levels/train403/help/F/tradar2.txt b/levels/train403/help/F/tradar2.txt index 9ceb67f4..0a2c7e55 100644 --- a/levels/train403/help/F/tradar2.txt +++ b/levels/train403/help/F/tradar2.txt @@ -4,7 +4,5 @@ Le robot sème des \l;croix bleues\u object\waypoint; sur le sol. \t;Remarque N'attendez pas trop, car le petit poucet se met au travail tout de suite. Heureusement, pendant l'édition d'un programme, le jeu se met en pause, y compris le petit poucet. -\key;\key help;\norm; permet de revoir ces instructions en tout temps! - \t;Voir aussi \l;Exercice précédent\u tradar1; et \l;programmation\u cbot;. diff --git a/levels/train404/help/F/tchasse.txt b/levels/train404/help/F/tchasse.txt index a7aac2a3..e5e16333 100644 --- a/levels/train404/help/F/tchasse.txt +++ b/levels/train404/help/F/tchasse.txt @@ -4,7 +4,7 @@ Il faut trouver un moyen d'abattre les quatre \l;cibles\u object\bottarg; mouvan \b;Idée 1) Détecter la direction d'une cible avec \c;\l;radar\u cbot\radar;(TargetBot);\n;. 2) Se tourner dans cette direction avec \c;\l;turn\u cbot\turn;(angle);\n;. -3) Re-détecter la direction de la cible. +3) After the rotation, check if the target did not move. 4) Si la direction est la même, attendre 0.2 seconde avec \c;\l;wait\u cbot\wait;(0.2);\n;. 5) Re-détecter la direction de la cible. 6) Si la direction est la même, tirer avec \c;\l;fire\u cbot\fire;(2);\n; et attendre la destruction de la cible 2 secondes. @@ -14,7 +14,5 @@ Il est tout à fait possible d'utiliser une autre idée ... \b;Remarque Avant de tirer, il est préférable d'abaisser le canon de 3 degrés avec \c;\l;aim\u cbot\aim;(-3);\n;. Vous améliorez ainsi les chances de succès. -\key;\key help;\norm; permet de revoir ces instructions en tout temps! - \t;Voir aussi \l;Exercice précédent\u tradar2; et \l;programmation\u cbot;. diff --git a/levels/train404/help/P/tchasse.txt b/levels/train404/help/P/tchasse.txt index 59108c46..99f886ac 100644 --- a/levels/train404/help/P/tchasse.txt +++ b/levels/train404/help/P/tchasse.txt @@ -11,7 +11,7 @@ Musisz znaleźć sposób na zniszczenie czterech \l;robotów celów\u object\bot Są oczywiście również inne sposoby osiągnięcia tego samego celu. -\t;Uwaga +\b;Uwaga Aby zwiększyć skuteczność strzałów, celuj nieco w dół instrukcją \c;\l;aim\u cbot\aim;(-3);\n;. \t;Zobacz również diff --git a/levels/train405/help/F/tfollow1.txt b/levels/train405/help/F/tfollow1.txt index 17ced744..7a93ad3c 100644 --- a/levels/train405/help/F/tfollow1.txt +++ b/levels/train405/help/F/tfollow1.txt @@ -3,11 +3,11 @@ Vous devez programmer le \l;robot\u object\bottr; d'entraînement pour suivre la A chaque arrêt, la caisse vérifie que vous êtes bien là. Si ce n'est pas le cas, le compteur est remis à zéro. Vous devez donc réussir 10 fois consécutives! \b;Principe -\s;o Répéter à l'infini: -\s; o Chercher la caisse. -\s; o Calculer la distance jusqu'à la caisse. -\s; o Si cette distance est plus petite que 5 mètres, reculer. -\s; o Sinon, calculer la direction de la caisse et s'y diriger. +Répéter à l'infini: + o Chercher la caisse. + o Calculer la distance jusqu'à la caisse. + o Si cette distance est plus petite que 5 mètres, reculer. + o Sinon, calculer la direction de la caisse et s'y diriger. La boucle infinie s'effectue avec un traditionnel \c;\l;while\u cbot\while;( true )\n;. \s;\c;while ( true ) @@ -18,13 +18,8 @@ La boucle infinie s'effectue avec un traditionnel \c;\l;while\u cbot\while;( tru La recherche de la caisse se fait dans toutes les directions, avec \c;\l;radar\u cbot\radar;\n; : \s;\c; target = radar(TargetBot); \n; -Normalement, la caisse est toujours trouvée. Vous pouvez éventuellement ajouter un test \c;\l;if\u cbot\if;\n; pour stopper le \l;robot\u object\bottr; et quitter le programme si la caisse n'est plus là, mais cela devrait être inutile: -\s;\c;if ( target == null ) -\s;{ -\s; motor(0, 0); // stoppe -\s; break; // plus rien à faire -\s;} -\n; +You do not have to test if the radar found a target bot: there must be one. + Le calcul de la distance jusqu'à la caisse utilise l'instruction \c;\l;distance\u cbot\dist;(p1, p2)\n;. Cette instruction retourne la distance entre deux points \c;p1\n; et \c;p2\n;. Le premier point sera ici la position du \l;robot\u object\bottr;, obtenue simplement avec \c;pos\n;. La position de la caisse est obtenue à travers la description de l'objet \c;target\n; avec l'expression \c;target.position\n;. \s;\c;len = distance(pos, target.position); \n; @@ -62,11 +57,8 @@ Lorsque la caisse est à gauche, \c;dir\n; est positif, compris entre 0 et 180 d \image radar2 14 10; Lorsque la caisse est à droite, \c;dir\n; est négatif, compris entre 0 et -180 degrés. -\b;À vous de jouer Pour que ce programme fonctionne, il faut encore déclarer toutes les \l;variables\u cbot\var; utilisées. \c;target\n; est de type \c;object\n;, alors que \c;dir\n; et \c;len\n; sont de type \c;float\n;. -\key;\key help;\norm; permet de revoir ces instructions en tout temps! - \t;Voir aussi \l;Exercice précédent\u tchasse; et \l;programmation\u cbot;. diff --git a/levels/train502/help/F/tremova2.txt b/levels/train502/help/F/tremova2.txt index e189cf87..65b2e6c9 100644 --- a/levels/train502/help/F/tremova2.txt +++ b/levels/train502/help/F/tremova2.txt @@ -6,11 +6,11 @@ Cet exercice ressemble beaucoup au précédent. Il faut maintenant déplacer 3 c x=10, y=-70 \n; \b;Principe -\s;o Répéter 3 fois: -\s; o Chercher le cube de titanium le plus loin avec \c;\l;radar\u cbot\radar;\n;. -\s; o Prendre le titanium avec \c;\l;grab\u cbot\grab;\n;. -\s; o Aller sur une plate-forme avec \c;\l;goto\u cbot\goto;\n;. -\s; o Déposer le titanium avec \c;\l;drop\u cbot\drop;\n;. +Répéter 3 fois: + o Chercher le cube de titanium le plus loin avec \c;\l;radar\u cbot\radar;\n;. + o Prendre le titanium avec \c;\l;grab\u cbot\grab;\n;. + o Aller sur une plate-forme avec \c;\l;goto\u cbot\goto;\n;. + o Déposer le titanium avec \c;\l;drop\u cbot\drop;\n;. Il est nécessaire de chercher le titanium le plus éloigné, car il ne faut pas détecter celui que l'on vient de déposer sur une plate-forme. @@ -31,7 +31,5 @@ Les coordonnées \c;x\n; des 3 plates-formes sont toutes égales à 10. En revan \n; A vous de terminer le programme ... -\key;\key help;\norm; permet de revoir ces instructions en tout temps! - \t;Voir aussi \l;Exercice précédent\u tremova1; et \l;programmation\u cbot;. diff --git a/levels/train503/help/F/tremova3.txt b/levels/train503/help/F/tremova3.txt index 040e5c40..9dd985d2 100644 --- a/levels/train503/help/F/tremova3.txt +++ b/levels/train503/help/F/tremova3.txt @@ -11,22 +11,20 @@ Le \l;derrick\u object\derrick; extrait automatiquement du minerai de titanium, Le \l;convertisseur\u object\convert; transforme le minerai en titanium. Pour cela, il suffit de déposer le minerai, de reculer et d'attendre. \b;Principe -\s;o Répéter 2 fois: -\s; o Attendre tant qu'on ne trouve pas de minerai. -\s; o Aller vers le minerai. -\s; o Prendre le minerai. -\s; o Aller vers le convertisseur. -\s; o Déposer le minerai. -\s; o Reculer de 4 mètres. -\s; o Attendre tant qu'on ne trouve pas de titanium. -\s; o Prendre le titanium. -\s; o Aller sur une plate-forme. -\s; o Déposer le titanium. +Répéter 2 fois: + o Attendre tant qu'on ne trouve pas de minerai. + o Aller vers le minerai. + o Prendre le minerai. + o Aller vers le convertisseur. + o Déposer le minerai. + o Reculer de 4 mètres. + o Attendre tant qu'on ne trouve pas de titanium. + o Prendre le titanium. + o Aller sur une plate-forme. + o Déposer le titanium. \b;Solution -Une boucle \c;\l;for\u cbot\for;\n; permet de répéter 2 fois l'ensemble des instructions: -\s;\c; for ( int i=0 ; i<2 ; i=i+1 ) -\n; +Une boucle \c;\l;for\u cbot\for;\n; permet de répéter 2 fois l'ensemble des instructions. Le minerai n'est pas forcément disponible tout de suite. Il faut donc attendre que le derrick le produise, ce qui s'effectue avec une boucle \c;\l;do\u cbot\do;\n; comme suit: \s;\c;do \s;{ @@ -52,7 +50,5 @@ Les coordonnées \c;x\n; des 2 plates-formes sont toutes égales à 10. En revan \n; A vous de terminer le programme ... -\key;\key help;\norm; permet de revoir ces instructions en tout temps! - \t;Voir aussi \l;Exercice précédent\u tremova2; et \l;programmation\u cbot;. diff --git a/levels/train601/help/F/tproc1.txt b/levels/train601/help/F/tproc1.txt index e13dbf8e..770b45e8 100644 --- a/levels/train601/help/F/tproc1.txt +++ b/levels/train601/help/F/tproc1.txt @@ -56,7 +56,5 @@ L'intérieur de la fonction \c;Carré\n; utilise les instructions \c;\l;move\u c \s; } \s;} \n; -\key;\key help;\norm; permet de revoir ces instructions en tout temps! - \t;Voir aussi \l;Exercice précédent\u tdraw1; et \l;programmation\u cbot;. diff --git a/levels/train602/help/F/tproc2.txt b/levels/train602/help/F/tproc2.txt index 0cb7e06a..e03f2ab8 100644 --- a/levels/train602/help/F/tproc2.txt +++ b/levels/train602/help/F/tproc2.txt @@ -1,6 +1,5 @@ \b;Exercice Programmez le \l;robot\u object\bottr; pour qu'il suive le chemin en forme de spirale. Il faut avancer deux fois de 25 mètres, puis deux fois de 20 mètres. etc., jusqu'à l'arrêt. - \image tproc2 8 8; \b;Fonction On constate que le mouvement est composé de "L" imbriqués. Le premier, en bleu foncé, avance deux fois de 25 mètres. Le deuxième, en bleu clair, avance de 5 mètres de moins, etc. On peut donc commencer par réaliser la \l;fonction\u cbot\function; qui déplace le robot le long d'un "L" dont on donne la longueur: @@ -31,7 +30,5 @@ Le dernier appel de \c;Part\n; a lieu avec la valeur \c;5\n;. Ensuite, l'express \b;Remarque Vous aurez peut-être remarqué que dans l'exercice précédent, la fonction principale était au début, alors qu'ici elle vient après la fonction secondaire \c;Part\n;. En fait, les deux façons de faire sont possibles et rigoureusement identiques. -\key;\key help;\norm; permet de revoir ces instructions en tout temps! - \t;Voir aussi \l;Exercice précédent\u tproc1; et \l;programmation\u cbot;. diff --git a/levels/train603/help/F/tremote2.txt b/levels/train603/help/F/tremote2.txt index be9ef0ea..cf6d3482 100644 --- a/levels/train603/help/F/tremote2.txt +++ b/levels/train603/help/F/tremote2.txt @@ -45,7 +45,5 @@ Voilà le parcours que le robot esclave doit effectuer: \image tremot2b 8 8; A vous de terminer le programme ... -\key;\key help;\norm; permet de revoir ces instructions en tout temps! - \t;Voir aussi \l;Exercice précédent\u tpyta; et \l;programmation\u cbot;. diff --git a/levels/train603/help/R/tremote2.txt b/levels/train603/help/R/tremote2.txt index 38565267..2f417164 100644 --- a/levels/train603/help/R/tremote2.txt +++ b/levels/train603/help/R/tremote2.txt @@ -45,7 +45,7 @@ Этот маршрут робот должен пройти так¦: \image tremot2b 8 8; - +It's up to you to finish the programming. \t;Смотри также \l;Язык CBOT\u cbot;, \l;Переменные\u cbot\type; и \l;Категории\u cbot\category;. diff --git a/levels/train701/help/F/tremote3.txt b/levels/train701/help/F/tremote3.txt index 623dade4..8d60cf4a 100644 --- a/levels/train701/help/F/tremote3.txt +++ b/levels/train701/help/F/tremote3.txt @@ -1,18 +1,21 @@ \b;Exercice Télécommandez un robot, sans utiliser une \l;borne d'information\u object\exchange;, pour qu'il passe par les 6 croix bleues. Il faudra utiliser une seule \l;chaîne de caractère\u cbot\string; pour communiquer. Cette chaîne contiendra l'ordre à effectuer, par exemple \c;"move(20)"\n;. On utilise donc la même syntaxe que le langage CBOT, mais on aurait tout aussi bien pu changer complètement et utiliser \c;"advance=20"\n; par exemple. La chaîne de caractère sera \c;\l;static\u cbot\static;\n; pour communiquer directement d'un programme à un autre. -Les 2 acteurs principaux de cet exercice sont: +Les 2 acteurs principaux de cet exercice sont: 1) Un \l;robot déménageur\u object\botgr; sans pile, donc immobile. C'est lui l'émetteur que vous devez programmer. 2) Un \l;robot d'entraînement\u object\bottr; qui attend les ordres. Ce robot est déjà programmé. \b;Le robot récepteur Pour commencer, il faut comprendre le programme du robot d'entraînement qui attend les ordres. Une \l;classe\u cbot\class; \c;exchange\n; contient le mécanisme d'échange et de mémorisation des ordres. Il faut d'abord déclarer une variable \c;\l;static\u cbot\static;\n; appelée ici \c;global_order\n;. Cette variable contient l'ordre à effectuer. L'instruction \c;static\n; permet à tous les robots d'accéder à la même variable unique. + \c;\s;\l;public\u cbot\public; \l;class\u cbot\class; exchange \s;{ \s; \l;static\u cbot\static; \l;private\u cbot\private; \l;string\u cbot\string; global_order = ""; \n; + Une première méthode \c;put\n; sera utilisée par le robot émetteur pour donner un ordre. Si la chaîne n'est pas vide, cela signifie que le robot récepteur n'a pas terminé l'exécution d'un ordre. Dans ce cas, la méthode \c;get\n; ne fait rien et retourne \c;false\n;: + \c;\s; \l;synchronized\u cbot\synchro; \l;bool\u cbot\bool; put(string order) \s; { \s; if ( global_order == "" ) @@ -27,6 +30,7 @@ Une première méthode \c;put\n; sera utilisée par le robot émetteur pour donn \s; } \n; Une deuxième méthode \c;get\n; sera utilisée par le robot récepteur pour prendre connaissance d'un ordre à effectuer. La chaîne \c;global_order\n; est directement vidée, pour indiquer que la classe \c;exchange\n; est prête à recevoir un nouvel ordre: + \c;\s; \l;synchronized\u cbot\synchro; string get() \s; { \s; string ret = global_order; @@ -36,12 +40,14 @@ Une deuxième méthode \c;get\n; sera utilisée par le robot récepteur pour pre \s;} \n; Le programme principal peut maintenant exister. La variable \c;list\n; est de type \c;exchange\n;, qui est une \l;classe\u cbot\class;. Il faut utiliser l'instruction \c;\l;new\u cbot\new;\n; pour créer immédiatement une instance. + \c;\s;\l;extern\u cbot\extern; void object::Slave3( ) \s;{ \s; exchange list = new exchange(); \s; string todo; \n; La première boucle \c;while\n; exécute les ordres à l'infini. La deuxième boucle \c;while\n; attend un ordre en exécutant la méthode \c;get\n; de la classe \c;exchange\n;. Dès qu'un ordre contenant une chaîne non vide est reçu, la boucle est stoppée. + \c;\s; \l;while\u cbot\while; ( true ) \s; { \s; \l;while\u cbot\while; ( true ) @@ -52,6 +58,7 @@ La première boucle \c;while\n; exécute les ordres à l'infini. La deuxième bo \s; } \n; Il ne reste plus qu'à exécuter l'ordre reçu: + \c;\s; if ( \l;strfind\u cbot\strfind;(todo, "move") == 0 ) \s; { \s; move(\l;strval\u cbot\strval;(\l;strmid\u cbot\strmid;(todo,5))); @@ -65,6 +72,7 @@ Il ne reste plus qu'à exécuter l'ordre reçu: \n; \b;Le robot émetteur Dans le robot émetteur, il est plus simple d'écrire une procédure \c;SendOrder\n; qui se charge d'envoyer un ordre au robot récepteur: + \c;\s;void object::SendOrder(string order) \s;{ \s; exchange list = new exchange(); @@ -77,6 +85,7 @@ Dans le robot émetteur, il est plus simple d'écrire une procédure \c;SendOrde \n; La boucle \c;while\n; attend qu'un éventuel ordre précédent soit terminé, ce qui arrive lorsque le robot récepteur exécute la méthode \c;get\n;. Le programme principal est finalement d'une simplicité enfantine: + \c;\s;extern void object::Remote3( ) \s;{ \s; SendOrder( "move(20)" ); @@ -90,7 +99,7 @@ Le programme principal est finalement d'une simplicité enfantine: \s; SendOrder( "move(10)" ); \s;} \n; -\key;\key help;\norm; permet de revoir ces instructions en tout temps! +\key;\key help;\norm; permet de revoir ces instructions sur votre SatCom. \t;Voir aussi \l;Exercice précédent\u ttable3; et \l;programmation\u cbot;. diff --git a/levels/train702/help/F/tremote4.txt b/levels/train702/help/F/tremote4.txt index 6ac33f90..fd8e8edc 100644 --- a/levels/train702/help/F/tremote4.txt +++ b/levels/train702/help/F/tremote4.txt @@ -1,12 +1,14 @@ \b;Exercice -Télécommandez un robot, sans utiliser une \l;borne d'information\u object\exchange;, pour qu'il passe par les 6 croix bleues. Il faudra utiliser une variable \c;\l;static\u cbot\static;\n; pour communiquer directement d'un programme à un autre. Les 2 acteurs principaux de cet exercice sont: +Télécommandez un robot, sans utiliser une \l;borne d'information\u object\exchange;, pour qu'il passe par les 6 croix bleues. Il faudra utiliser une variable \c;\l;static\u cbot\static;\n; pour communiquer directement d'un programme à un autre. +Les 2 acteurs principaux de cet exercice sont: 1) Un \l;robot déménageur\u object\botgr; sans pile, donc immobile. C'est lui l'émetteur que vous devez programmer. 2) Un \l;robot d'entraînement\u object\bottr; qui attend les ordres. Ce robot est déjà programmé. \b;Le robot récepteur Pour commencer, il faut comprendre le programme du robot d'entraînement qui attend les ordres. Une \l;classe\u cbot\class; \c;order\n; contient deux variables: \c;global_type\n; détermine l'ordre à effectuer (avancer ou tourner) et \c;global_param\n; détermine la distance à avancer ou l'angle de rotation: + \c;\s;\l;public\u cbot\public; \l;class\u cbot\class; order \s;{ \s; \l;int\u cbot\int; global_type = \l;nan\u cbot\nan;; @@ -14,11 +16,13 @@ Une \l;classe\u cbot\class; \c;order\n; contient deux variables: \c;global_type\ \s;} \n; Une deuxième \l;classe\u cbot\class; \c;exchange\n; contient le mécanisme d'échange et de mémorisation des ordres. Il faut d'abord déclarer une variable \c;\l;static\u cbot\static;\n; appelée ici \c;global_order\n;. Cette variable contient l'ordre à effectuer. L'instruction \c;static\n; permet à tous les robots d'accéder à la même variable unique. + \c;\s;\l;public\u cbot\public; \l;class\u cbot\class; exchange \s;{ \s; \l;static\u cbot\static; \l;private\u cbot\private; order global_order = new order; \n; Une première méthode \c;put\n; sera utilisée par le robot émetteur pour donner un ordre. Si l'ordre est différent de \c;\l;nan\u cbot\nan;\n;, cela signifie qu'il n'a pas encore été effectué par le robot récepteur. Dans ce cas, la méthode \c;get\n; ne fait rien et retourne \c;false\n;: + \c;\s; \l;synchronized\u cbot\synchro; \l;bool\u cbot\bool; put(order a) \s; { \s; if ( global_order.global_type == nan ) @@ -33,12 +37,14 @@ Une première méthode \c;put\n; sera utilisée par le robot émetteur pour donn \s; } \n; Une deuxième méthode \c;get\n; sera utilisée par le robot récepteur pour prendre connaissance d'un ordre à effectuer: + \c;\s; \l;synchronized\u cbot\synchro; order get() \s; { \s; return global_order; \s; } \n; Une troisième méthode \c;delete\n; sera utilisée par le robot récepteur pour indiquer que l'ordre est terminé: + \c;\s; \l;synchronized\u cbot\synchro; void delete() \s; { \s; global_order.global_type = nan; @@ -46,12 +52,14 @@ Une troisième méthode \c;delete\n; sera utilisée par le robot récepteur pour \s;} \n; Le programme principal peut maintenant exister. La variable \c;list\n; est de type \c;exchange\n;, qui est une \l;classe\u cbot\class;. Il faut utiliser l'instruction \c;\l;new\u cbot\new;\n; pour créer immédiatement une instance. + \c;\s;\l;extern\u cbot\extern; void object::Slave3( ) \s;{ \s; exchange list = new exchange(); \s; order todo; \n; La première boucle \c;while\n; exécute les ordres à l'infini. La deuxième boucle \c;while\n; attend un ordre en exécutant la méthode \c;get\n; de la classe \c;exchange\n;. Dès qu'un ordre contenant une valeur différente de \c;nan\n; est reçu, la boucle est stoppée. + \c;\s; \l;while\u cbot\while; ( true ) \s; { \s; \l;while\u cbot\while; ( true ) @@ -62,6 +70,7 @@ La première boucle \c;while\n; exécute les ordres à l'infini. La deuxième bo \s; } \n; Il ne reste plus qu'à exécuter l'ordre reçu: + \c;\s; if ( todo.global_type == 1 ) \s; { \s; move(todo.global_param); @@ -76,12 +85,14 @@ Il ne reste plus qu'à exécuter l'ordre reçu: \s; } \n; Dès que l'exécution de l'ordre est terminée, il faut appeler la méthode \c;delete\n; pour indiquer au robot émetteur qu'il peut envoyer l'ordre suivant: + \c;\s; list.delete(); \s; } \s;} \n; \b;Le robot émetteur Dans le robot émetteur, il est plus simple d'écrire une procédure \c;SendOrder\n; qui se charge d'envoyer un ordre au robot récepteur: + \c;\s;void object::SendOrder(float order, float param) \s;{ \s; exchange list = new exchange(); @@ -98,6 +109,7 @@ Dans le robot émetteur, il est plus simple d'écrire une procédure \c;SendOrde \n; La boucle \c;while\n; attend qu'un éventuel ordre précédent soit terminé, ce qui arrive lorsque le robot récepteur exécute la méthode \c;delete\n;. Le programme principal est finalement d'une simplicité enfantine: + \c;\s;extern void object::Remote4( ) \s;{ \s; SendOrder(1, 20); // move(20); @@ -113,5 +125,6 @@ Le programme principal est finalement d'une simplicité enfantine: \n; \key;\key help;\norm; permet de revoir ces instructions en tout temps! + \t;Voir aussi \l;Exercice précédent\u tremote3; et \l;programmation\u cbot;. diff --git a/levels/train703/help/F/tremote5.txt b/levels/train703/help/F/tremote5.txt index 1284d05c..6dba9173 100644 --- a/levels/train703/help/F/tremote5.txt +++ b/levels/train703/help/F/tremote5.txt @@ -1,6 +1,7 @@ \b;Exercice -Télécommandez un robot, sans utiliser une \l;borne d'information\u object\exchange;, pour qu'il passe par les 6 croix bleues. Les 2 acteurs principaux de cet exercice sont: +Télécommandez un robot, sans utiliser une \l;borne d'information\u object\exchange;, pour qu'il passe par les 6 croix bleues. +Les 2 acteurs principaux de cet exercice sont: 1) Un \l;robot déménageur\u object\botgr; sans pile, donc immobile. C'est lui l'émetteur que vous devez programmer. 2) Un \l;robot d'entraînement\u object\bottr; qui attend les ordres. Ce robot est déjà programmé. @@ -9,6 +10,7 @@ Il faudra mémoriser les ordres, afin que le robot émetteur puisse donner tous \b;Le robot récepteur Pour commencer, il faut comprendre le programme du robot d'entraînement qui attend les ordres. Une \l;classe\u cbot\class; \c;order\n; contient deux variables: \c;global_type\n; détermine l'ordre à effectuer (avancer ou tourner) et \c;global_param\n; détermine la distance à avancer ou l'angle de rotation: + \c;\s;\l;public\u cbot\public; \l;class\u cbot\class; order \s;{ \s; \l;int\u cbot\int; global_type; @@ -16,17 +18,20 @@ Une \l;classe\u cbot\class; \c;order\n; contient deux variables: \c;global_type\ \s;} \n; Une deuxième \l;classe\u cbot\class; \c;exchange\n; contient le mécanisme d'échange et de mémorisation des ordres. Il faut d'abord déclarer une variable \c;\l;static\u cbot\static;\n; appelée ici \c;global_fifo[]\n;. Cette variable contient une liste d'ordres à effectuer. Les accolades \c;[]\n; indiquent qu'il s'agit d'un \l;tableau\u cbot\array;. L'instruction \c;static\n; permet à tous les robots d'accéder à la même variable unique. + \c;\s;\l;public\u cbot\public; \l;class\u cbot\class; exchange \s;{ \s; \l;static\u cbot\static; \l;private\u cbot\private; order global_fifo[] = null; \n; Une première méthode \c;put\n; sera utilisée par le robot émetteur pour donner un ordre. L'ordre est simplement ajouté à la fin du tableau: + \c;\s; \l;synchronized\u cbot\synchro; void put(order a) \s; { \s; global_fifo[sizeof(global_fifo)] = a; \s; } \n; Une deuxième méthode \c;get\n; sera utilisée par le robot récepteur pour prendre connaissance d'un ordre à effectuer. Si la liste est vide, on retourne \c;null\n; et le robot devra attendre. Dans le cas contraire, il faut retourner le premier ordre de la liste, et décaler tout le contenu de la liste vers le haut. Pour cela, il est nécessaire d'utiliser une nouvelle liste intermédiaire \c;copy\n;, car une liste existante n'est jamais raccourcie: + \c;\s; \l;synchronized\u cbot\synchro; order get() \s; { \s; if ( sizeof(global_fifo) == 0 ) return null; @@ -42,12 +47,14 @@ Une deuxième méthode \c;get\n; sera utilisée par le robot récepteur pour pre \s; } \n; Le programme principal peut maintenant exister. La variable \c;list\n; est de type \c;exchange\n;, qui est une \l;classe\u cbot\class;. Il faut utiliser l'instruction \c;\l;new\u cbot\new;\n; pour créer immédiatement une instance. + \c;\s;\l;extern\u cbot\extern; void object::Slave5( ) \s;{ \s; exchange list = new exchange(); \s; order todo; \n; La première boucle \c;while\n; exécute les ordres à l'infini. La deuxième boucle \c;while\n; attend un ordre en exécutant la méthode \c;get\n; de la classe \c;exchange\n;. Dès qu'un ordre contenant une valeur différente de \c;null\n; est reçu, la boucle est stoppée. + \c;\s; \l;while\u cbot\while; ( true ) \s; { \s; \l;while\u cbot\while; ( true ) @@ -58,6 +65,7 @@ La première boucle \c;while\n; exécute les ordres à l'infini. La deuxième bo \s; } \n; Il ne reste plus qu'à exécuter l'ordre reçu: + \c;\s; if ( todo.global_type == 1 ) \s; { \s; move(todo.global_param); @@ -75,6 +83,7 @@ Il ne reste plus qu'à exécuter l'ordre reçu: \n; \b;Le robot émetteur Dans le robot émetteur, il est plus simple d'écrire une procédure \c;SendOrder\n; qui se charge d'envoyer un ordre au robot récepteur. Il n'est pas nécessaire d'attendre, puisque tous les ordres sont stockés dans une liste: + \c;\s;void object::SendOrder(float order, float param) \s;{ \s; exchange list = new exchange(); @@ -86,6 +95,7 @@ Dans le robot émetteur, il est plus simple d'écrire une procédure \c;SendOrde \s;} \n; Le programme principal est finalement d'une simplicité enfantine: + \c;\s;extern void object::Remote5( ) \s;{ \s; SendOrder(1, 20); // move(20);