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

SAIL Syntax/es

From Original War Support Wiki

Jump to: navigation, search


Contents

Intro

La sintaxis del SAIL está basada en el Pascal pero se diferencia en algunos aspectos. Lo que esta continuación se ha diseñado para darle a usted un conocimiento básico acerca de él conocimiento de la sintaxis del SAIL. Hay que tener en cuenta que todos los códigos de sintaxis deben estar en inglés (por ejemplo Begin ,End ,For ,Case ,Function ,etc.) pero los nombres de las variables o los nombres de las funciones puede ser cualquier cosa.

Starting

El bloque Starting sólo puede utilizarse una vez. Es el lugar donde la primera porción de código SAIL será corrida y se usa normalmente para configurar el mapa.


Starting
Begin
 Wait(1000);
End;

Export

Para permitir a otro módulo acceder a las funciones y/o variables de un módulo, se necesita utilizar un Export. (Cada "página" de código es llamada módulo)

Variables:

Export MiVariable;
Export MiVariable2,MiVariable3;

Funciones:

Export Function MiFunción;
begin
 //
end;

Las cosas exportadas son llamadas y utilizadas al igual que las normales. La única diferencia es que se encuentran globalmente abiertas a cualquier módulo.

Declarando variables

Si uno no quiere que una variable sea global necesita utilizar Var para declarar variables. En el SAIL las variables no tienen tipo en particular, pueden ser cualquier cosa.


Var MiVariable;
Var MiVariable2,MiVariable3;
Function MiFunción;
Var MiVariable;
begin
 //
end;

Functions

En el SAIL se puede utilizar una función tanto como para procedimientos como para otras funciones. Las funciones pueden recibir parámetros y largar un resultado.

Sin Parámetros:

Function MiFunción;
Begin
 //
end;

Con Parámetros:

Function miFunción(UnaVariable);
begin
 //
end;

Resultado:

Function MiFunción(UnaVariable);
begin
 Result := UnaVariable;
end;

unaVariable2 := MiFunción(5);

Comments

Es posible agregar comentarios al código, simplemente tipeando //. Todo lo que tenga // se considera un commentario.


Wait(10);
// Un Comentario
Wait(10); // Un Comentario
// Wait(10); <---- se considera un comentario

If Then

El If Then le permite ver si el resultado de una variable o función es igual o diferente a alguna variable o al valor de una constante.


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

Los comandos If Then pueden tener también Else


If UnaVariable = 1 then
Wait(1)
else
Wait(2);

Begin End

Begin y End agrupan cierta cantidad de código y son utilizadas generalmente luego de otros comandos de sintaxis como For Loops, If Thenm etc.


If UnaVariable = 1 then
begin
 Wait(1);
 Wait(2);
end;

For Do loop

For Loops repiten la línea que se encuentra bajo los mismos, desde X a X.


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;

Repeat Unit Loop

Los Repeat Until loops corren el mismo código una y otra vez sin cesar hasta que se cumpla una determinada condición.


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

While Do Loop

Los While loops son iguales a los Repeat Untils, con la excepción de que va primero la condición.


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

Case

El Comando Case le permite simplemente correr el código dependiendo del valor de una variable o del resultado de una función.


case Query('Q1') of
 1:begin
  // código a correr si el resultado de un Query es 1 
 end;
 2:begin
  //
 end;
end;
case UnaVariable of
 1:begin
  //
 end;
 2:begin
  //
 end;
end;

En vez de utilizar valores se pueden utilizar también constantes.


case AVarible of
 unit_human:begin
  // unit_human es en OW una constante predefinida. Al usarla, Se puede facilmente verificar si una unidad específica es un humano. 
 end;
 unit_vehicle:begin
  //
 end;
end;
Personal tools
Clanbase