Goto http://www.stucuk.netGoto http://www.atlanticaonlinewiki.comGoto http://www.game-requirements.com

SAIL Syntax/cs

From Original War Support Wiki

Jump to: navigation, search


Contents

Úvod

Syntaxe jazyka SAIL je založena na jazyce Pascal, ale v některých ohledech se liší. Tento tutoriál vám má nabídnou základy syntaxe SAILu. Všimněte si, že všechna klíčová slova musí být v angličtině (tj. Begin, End, For, Case, Function, atd.), ale jména proměnných či funkcí mohou být jakékoli.

Starting

Blok starting může být použit pouze jednou. Je to první kód SAILu, který bude spuštěn a běžně se používá k nastavení mapy.


Starting
Begin
 Wait(1000);
End;

Export

Abyste mohli používat v jiných modulech proměnné a funkce, definované ve vašem modulu, musíte použít Export. (Každá 'stránka' kódu se nazývá modul)

Proměnné:

Export MojePromenna;
Export MojePromenna2, MojePromenna3;

Funkce:

Export Function MojeFunkce;
begin
  //
end;

Exportované položky se volají a používají stejně jako ty běžné. Jediný rozdíl je, že tyto proměnné či funkce mohou být použity s libovolného modulu.

Proměnné

Jestliže nepotřebujete, aby vaše proměnná bya použitelná ze všech modulů, musíte k jejímu vytvoření použit klíčové slovo var. V SAILu proměnné nemají typ, mohou být jakékoli.


Var MojePrommena;
Var MojePrommena2, MojePrommena3;

Funkce

V SAILu můžete využít klíčové slovo Function pro tvorbu jak funkcí, tak procedur. Funkce mohou přijímat parametry a vracet zpět návratovou hodnotu (angl. result).

Bez parametrů:

Function MojeFunkce;
begin
 //
end;

Parametry:

Function MojeFunkce(Parametr);
begin
 //
end;

Vrácená hodnota:

Function MojeFunkce(Parametr);
begin
 Result := Parametr;
end;
Promenna := MojeFunkce(5);

Komentáře

Do svého kódu můžete vkládat komentáře prostým napsáním znaků // . Cokoli po // je považováno za komentář.


Wait(10);
// Komentář
Wait(10); // Komentář
// Wait(10); <---- považováno za komentář

If Then

Příkaz If Then (v překladu Jestliže Pak) umožňuje zjistit, zda proměnná nebo hodnota funkce je stejná či různá od očekávané hodnoty.


If Promenna = 5 then
Wait(1);
If Promenna = Promenna2 then
Wait(1);
If Query("Q1") = 1 then
Wait(1);

Příkaz If může mít také část Else (v překladu Jinak; vykoná se v případě, že If podmínka se vyhodnotí jako nepravdivá).


if AVarible = 1 then
Wait(1)
else
Wait(2);

Begin End

Příkazy Begin a End (v překladu Začátek a Konec) spojují dohromady části kódu, obecně jsou používány ostatními příkazy SAILu, jako jsou smyčky For, If Then, atd.


if Promenna = 1 then
begin
 Wait(1);
 Wait(2);
end;

Smyčka For Do

Smyčka For opakuje řádek kódu za ním od X do y.


For x := 1 to 5 do
wait(1);

For x := 1 to 5 do begin wait(1); end;
y := 1;
j := 5;
For x := y to j do
begin
 wait(1);
end;

Smyčka Repeat Until

Smyčka Repeat Until loops spouští zadaný kód, dokud není daná podmínka splněna.


x := 0;
Repeat
 x := x + 1;
Until x := 5;

Smyčka While Do

Smyčka While je podpobná smyčke Repeat Until, ale podmínka předchází samotný kód.


x := 0;
While x < 5 do
begin
 x := x + 1;
end;

Case

Příkaz Case umožňuje jednoduše spouštět části kódu v závislosti na hodnotě proměnné či funkce.


case Query('Q1') of
 1:begin
  // tento kód bude vykonán v případě, že hodnota funkce Query('Q1') bude rovna jedné
 end;
 2:begin
  //
 end;
end;
case Promenna of
 1:begin
  //
 end;
 2:begin
  //
 end;
end;

Místo přímých hodnot lze používat konstanty.


case AVarible of
 unit_human:begin
  // unit_human je předdefinovaná konstanta v rámci Original Waru. Umožňuje jednoduše zjistit, zda je daná jednotka člověk. 
 end;
 unit_vehicle:begin
  //
 end;
end;
Personal tools
Clanbase