SAIL Syntax/cs
From Original War Support Wiki
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;