Différences entre les versions de « TESCS2 : Alternatives »

De Wiwiki
Aller à la navigation Aller à la recherche
m
 
(16 versions intermédiaires par 2 utilisateurs non affichées)
Ligne 1 : Ligne 1 :
[[Catégorie: TESCS2 : Scripting|Alternatives - If EndIf]]
[[Catégorie: TESCS2 : Fonctions de script|Alternatives - If EndIf]]
[[Catégorie: TESCS2 : Blocs de script|Blocs If EndIf]]
==Introduction==
==Introduction==
'''If''' est un mot clé utilisable dans les scripts.
Les alternatives servent à permettre au script de s'adapter aux différentes situations.
 
Concrètement on y parvient en limitant l'execution d'un partie d'un script si les conditions ne sont pas réunies.
 
On dispose pour cela de plusieurs mots clés :
* '''If'''
* '''Else'''
* '''ElseIf'''
* '''EndIf'''
 
 
Sachez que ''Else'' et ''ElseIf'' ne peuvent pas être utilisé sans ''If'' et que ''EndIf'' est obligatoire pour terminer un bloc commencé avec ''If''.
 
De plus ''If'' à besoin d'une condition pour fonctionner.
 
Donc nous aurons toujours au minimum :
If ''condition''
  [...]
EndIf
 
Il existe par ailleurs des blocs spéciaux, les [[TESCS2 : Begin|blocs de Script  Begin...End]] qui testent des conditions "événements" importants de façon à structurer les scripts plus facilement.
 
==La condition==
Une condition va vérifier quelque chose.
 
Dans la plupart des cas on voudra comparer un élement avec un autre.
On dispose pour cela des opérateurs de comparaison.
 
===Les opérateurs de comparaison===
Voiçi la liste des opérateurs
* '''==''' Vérifie si deux éléments sont égaux.
* '''!=''' Vérifie si deux éléments sont différents.
* '''>'''  Vérifie si l'élement de gauche est supérieur à l'élément de droite.
* '''<'''  Vérifie si l'élement de gauche est inférieur à l'élément de droite.
* '''>=''' Vérifie si l'élement de gauche est supérieur ou égal à l'élément de droite.
* '''<=''' Vérifie si l'élement de gauche est inférieur ou égal à l'élément de droite.


Un bloc If doit se terminer par le mot clé '''EndIf'''
===Utilisation de fonctions===
Notez qu'il est possible d'utiliser des fonctions qui retournent des valeurs dans la condition.


==Utilisation==
Exemple :
If player.[[TESCS2 : GetDead|GetDead]] == 1
  [[TESCS2 : Message|Message]] "Vous êtes mort.", 10
EndIf
Ici nous affichons un message uniquement si le joueur est mort.
 
==If==
Il sert à conditionner l'execution d'un bloc de code.
Il sert à conditionner l'execution d'un bloc de code.
La syntaxe est la suivante :  
La syntaxe est la suivante :  
Ligne 14 : Ligne 60 :
Si la condition est fausse alors le code est ignoré.
Si la condition est fausse alors le code est ignoré.


===La condition===
Une condition va vérifier quelque chose.


Dans la plupart des cas on voudra comparer un élement avec un autre.
==Else==
On dispose pour cela des opérateurs de comparaison.
Else signifie sinon.
 
Cette condition fait obligatoirement suite à un If.


====Les opérateurs====
Le code placé après else n'est executé que si la condition If à été vérifiée comme fausse.
Voiçi la liste des opérateurs
* <nowiki>==</nowiki> Vérifie si deux éléments sont égaux.
* <nowiki>!=</nowiki> Vérifie si deux éléments sont différents.
* <nowiki>></nowiki> Vérifie si l'élement de gauche est supérieur à l'élément de droite.
* <nowiki><</nowiki> Vérifie si l'élement de gauche est inférieur à l'élément de droite.
* <nowiki>>=</nowiki> Vérifie si l'élement de gauche est supérieur ou égal à l'élément de droite.
* <nowiki><=</nowiki> Vérifie si l'élement de gauche est inférieur ou égal à l'élément de droite.


====Utilisation de fonctions====
Nous avons vu auparavent que If executait le code que si la condition était vraie. Else fait le contraire. C'est utile donc pour dire : fait soit ça, soit ça.
Notez qu'il est possible d'utiliser des fonctions qui retournent des valeurs dans la condition.


Exemple :  
Exemple :  
If player.[[TESCS2 : GetGold|GetGold]] >= 1000
    [[TESCS2 : Message|Message]] "Vous êtes riche", 5
Else
    [[TESCS2 : Message|Message]] "Sale mendiant !", 5
EndIf
Dans notre exemple si le joueur à 1000 pèces d'or ou plus le message sera vous êtes riche, sinon le joueur sera traité de sale mendiant.
==ElseIf==
ElseIf fonctionne de la même manière que else, la différence c'est qu'elle vérifiera une condition supplémentaire.


Nous allons utiliser la fonction [[TESCS2 : GetDead|GetDead]] qui retourne 1 si l'acteur est mort.
Exemple :
  If player.GetDead == 1
If player.[[TESCS2 : GetGold|GetGold]] >= 1000
  Message "Vous êtes mort.", 10
    [[TESCS2 : Message|Message]] "Vous êtes riche", 5
  Elseif player.[[TESCS2 : GetGold|GetGold]] >= 1
    [[TESCS2 : Message|Message]] "Sale mendiant !", 5
Else
    [[TESCS2 : Message|Message]] "C'est le début de la fin.", 5
  EndIf
  EndIf
Ici nous affichons un [[TESCS2 : Message|message]] uniquement si le joueur est mort.
 
 
==EndIf==
 
''(à suivre)''
 
==Voir également==
*[[TESCS2 : Begin|Les blocs Begin... End]]

Version actuelle datée du 4 avril 2007 à 07:23


Introduction

Les alternatives servent à permettre au script de s'adapter aux différentes situations.

Concrètement on y parvient en limitant l'execution d'un partie d'un script si les conditions ne sont pas réunies.

On dispose pour cela de plusieurs mots clés :

  • If
  • Else
  • ElseIf
  • EndIf


Sachez que Else et ElseIf ne peuvent pas être utilisé sans If et que EndIf est obligatoire pour terminer un bloc commencé avec If.

De plus If à besoin d'une condition pour fonctionner.

Donc nous aurons toujours au minimum :

If condition
  [...]
EndIf

Il existe par ailleurs des blocs spéciaux, les blocs de Script Begin...End qui testent des conditions "événements" importants de façon à structurer les scripts plus facilement.

La condition

Une condition va vérifier quelque chose.

Dans la plupart des cas on voudra comparer un élement avec un autre. On dispose pour cela des opérateurs de comparaison.

Les opérateurs de comparaison

Voiçi la liste des opérateurs

  • == Vérifie si deux éléments sont égaux.
  • != Vérifie si deux éléments sont différents.
  • > Vérifie si l'élement de gauche est supérieur à l'élément de droite.
  • < Vérifie si l'élement de gauche est inférieur à l'élément de droite.
  • >= Vérifie si l'élement de gauche est supérieur ou égal à l'élément de droite.
  • <= Vérifie si l'élement de gauche est inférieur ou égal à l'élément de droite.

Utilisation de fonctions

Notez qu'il est possible d'utiliser des fonctions qui retournent des valeurs dans la condition.

Exemple :

If player.GetDead == 1
  Message "Vous êtes mort.", 10
EndIf

Ici nous affichons un message uniquement si le joueur est mort.

If

Il sert à conditionner l'execution d'un bloc de code. La syntaxe est la suivante :

If condition
  [...] votre code
EndIf

Votre code est exécuté uniquement si la condition est vérifiée comme étant vraie. Si la condition est fausse alors le code est ignoré.


Else

Else signifie sinon.

Cette condition fait obligatoirement suite à un If.

Le code placé après else n'est executé que si la condition If à été vérifiée comme fausse.

Nous avons vu auparavent que If executait le code que si la condition était vraie. Else fait le contraire. C'est utile donc pour dire : fait soit ça, soit ça.

Exemple :

If player.GetGold >= 1000
   Message "Vous êtes riche", 5
Else
   Message "Sale mendiant !", 5
EndIf

Dans notre exemple si le joueur à 1000 pèces d'or ou plus le message sera vous êtes riche, sinon le joueur sera traité de sale mendiant.

ElseIf

ElseIf fonctionne de la même manière que else, la différence c'est qu'elle vérifiera une condition supplémentaire.

Exemple :

If player.GetGold >= 1000
   Message "Vous êtes riche", 5
Elseif player.GetGold >= 1
   Message "Sale mendiant !", 5
Else
   Message "C'est le début de la fin.", 5
EndIf


EndIf

(à suivre)

Voir également