Un
opérateur est un dérivé direct des mathématiques,
il permet de faire des opérations logiques entre Données.
Les opérateurs admissibles par le langage sont énumérés
dans le tableau ci-dessous:
| Opérateur |
Variante |
Donnée
de retour |
Action |
|| |
Or |
Booleen |
Ou
logique entre deux Booleen |
&& |
And |
Boolean |
Et logique entre deux Booleen |
! |
Not |
Boolean |
Négation
[invertion] de la Donnée |
!= |
|
Booleen |
Différence
entre deux objets |
- |
|
Nombre |
Oposé
du Nombre d'origine |
+ |
|
Array |
Copie
un à un instant T du script |
= |
|
Rien |
Assigne
un état à une variable |
== |
|
Boolean |
Egalité
entre deux objets |
> |
|
Boolean |
Comparaison
[inférieur à] |
> |
|
Boolean |
Comparaison
[supérieur à] |
<= |
|
Boolean |
Compraison
[inférieur ou égal à] |
>= |
|
Boolean |
Comparaison
[supérieur ou égal à] |
+ |
|
De
même type |
Addition
[Nombre, String ou Array] |
- |
|
De
même type |
Soustraction
[Nombre ou Array] |
* |
|
Nombre |
Multiplication |
/ |
|
Nombre |
Division |
% |
Mod |
Nombre |
Reste
de division entière |
Atan2 |
|
Nombre |
Arc
Tangente seconde méthode |
| Abs |
|
Nombre |
La
valeur absolue (sans le signe) |
Exp |
|
Nombre |
Exposant |
Ln |
|
Nombre |
Logarithme
népérien |
Log |
|
Nombre |
Logarithme
base 10 |
Rad |
|
Nombre |
Conversion
en Radian de l'angle en Degrès |
Deg |
|
Nombre |
Conversion
en Degrès de l'angle en Radian |
Atan |
Atg |
Nombre |
Arc
tangeant |
Cos |
|
Nombre |
Cosinus |
Sin |
|
Nombre |
Sinus |
Tan |
Tg |
Nombre |
Tangeante |
Acos |
|
Nombre |
Arc
cosinus |
Asin |
|
Nombre |
Arc
sinus |
Pi |
|
Nombre |
Nombre
Pi |
Nil |
|
Nombre |
Valeur
vide |
Random |
|
Nombre |
Nombre
aléatoire de 0 à Nombre |
| a
= |
b
= |
a
&&
b |
a
||
b |
| false |
false |
false |
false |
| true |
false |
false |
true |
| false |
true |
false |
true |
| true |
true |
true |
true |
Quatre
opérateurs complémentaires ne peuvent être utilisés
mais que dans des scripts externes:
Opérateur |
Action |
| @Boolean |
Attente
que la condition 'Boolean' soit vraie [bloque l'exécutioin
du script] |
| ~Nombre |
Attente que Nombre secondes soient écoulées [bloque
l'exécutioin du script] |
| ?Boolean:
Action |
Test Boolean et si Boolean est vraie alors exécute Action |
#Boucle
GoTo
"Boucle" |
Ces
deux-là sont plus ou moins indissociables. le GoTo permet de
faire sauter l'exécution du script à la ligne identifiée
par #Boucle [que Boucle soit eu dessus de GoTo ou en dessous] |
Exemples:
@(Not
Alive TheShilka)
// aura pour effet de bloquer l'exécution
du script jusqu'à ce que l'unité nommée 'TheShilka'
soit détruit, @ testera à chaque frame du jeu si la condition
est validée.
~12.5
// aura pour effet de bloquer l'exécution
du script pendant 12 secondes et demi.
~1/10
// aura pour effet de bloquer l'exécution
du script pendant 1 dixième de seconde.
?(Not
Alive TheShilka):
Hint "Shilka
détruit"
// aura pour effet d'afficher le texte
"Shilka détruit"; si l'unité nommée TheShilka
est détruite au moment du test.
GoTo "TheEnd"
Action1
Action2
#TheEnd
Dans
cet exemple les actions Action1 et Action2 ne seront jamais exécutées,
car le GoTo fait sauter l'exécution du script à la ligne
identifiée par #TheEnd.
#ShilkaVivant
Action2
?(Not
Alive TheShilka):
GoTo "ShilkaMort"
GoTo "ShilkaVivant"
#ShilkaMort
Action1
Ici
le script rentre en #ShilkaVivant puis execute Action2, lit la suite,
vois le ? et demande de vérifier la condition (Not Alive TheShilka)
elle est fausse donc il passe à la ligne suivante GoTo "ShilkaVivant"
là il rechercher la ligne #ShilkaVivant, et lit la suite [Durant
ce temps TheShilka est mort], execute Action2 demande à vérifier
la condition (Not Alive TheShilka) est vraie, le TheShilka est bien mort
donc il execute ce qu'il y a après les : et cherche la ligne #ShilkaMort,
execute Action1 et passe à la suite du script.
Astuce:
Le
Random est une commande bien utile quand l'on veux dynamiser les choses,
or cette commande ne marche que dans une partie des Nombres. Cette partie
s'étale de Zéro à L'infini positif.
Pour
faire le Random d'un nombre négatil il faut ruser, exemple je veux un
Random allant de -125 à 145.
Tout
d'abord je calcule l'écart entre ses deux nombres: 125+145= 270
Ensuite
je fais un Random entre 0 et 270
Enfin
je soustrais à se nombre 125
Ainsi
mon Random ira bien de -125 à 145
En
formule Script sa donnerait:
_minimum
< Random < _maximum
_a
= ((Abs
_minimum)
+ (Abs
_maximum))
_b =
(Random
_a)
_result =
_b -
(Abs
_minimum)
J'ai
bien _result qui sera un Random compri entre _minimum et _maximum
Cette
technique marche que _maximum soit positif ou négatif |