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

De Wiwiki
Aller à la navigation Aller à la recherche
m
 
(11 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==
Les alternatives servent à permettre au script de s'adpater aux différentes situation.
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.
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 mot clés :
On dispose pour cela de plusieurs mots clés :
* '''If'''
* '''If'''
* '''Else'''
* '''Else'''
Ligne 10 : Ligne 14 :
* '''EndIf'''
* '''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.
 
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 :
Donc nous aurons toujours au minimum :
  If
  If ''condition''
   [...]
   [...]
  EndIf
  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==
==La condition==
Ligne 25 : Ligne 34 :
===Les opérateurs de comparaison===
===Les opérateurs de comparaison===
Voiçi la liste des opérateurs
Voiçi la liste des opérateurs
* <nowiki>==</nowiki> Vérifie si deux éléments sont égaux.
* '''==''' Vérifie si deux éléments sont égaux.
* <nowiki>!=</nowiki> Vérifie si deux éléments sont différents.
* '''!=''' 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.
* '''>'''  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.
* '''<'''  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.
* '''>=''' 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.
* '''<=''' Vérifie si l'élement de gauche est inférieur ou égal à l'élément de droite.


===Utilisation de fonctions===
===Utilisation de fonctions===
Ligne 36 : Ligne 45 :


Exemple :  
Exemple :  
 
If player.[[TESCS2 : GetDead|GetDead]] == 1
Nous allons utiliser la fonction [[TESCS2 : GetDead|GetDead]] qui retourne 1 si l'acteur est mort.
   [[TESCS2 : Message|Message]] "Vous êtes mort.", 10
If player.GetDead == 1
   Message "Vous êtes mort.", 10
  EndIf
  EndIf
Ici nous affichons un [[TESCS2 : Message|message]] uniquement si le joueur est mort.
Ici nous affichons un message uniquement si le joueur est mort.


==If==
==If==
Ligne 55 : Ligne 62 :


==Else==
==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.[[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.
Exemple :
If player.[[TESCS2 : GetGold|GetGold]] >= 1000
    [[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==
''(à 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