[TUTO] Créer une boucle dans un script

Voir le sujet précédent Voir le sujet suivant Aller en bas

[TUTO] Créer une boucle dans un script

Message par Giuliani le Ven 11 Aoû - 17:12

Les boucles dans les scripts :

Les boucles For/To et For/Until:

Ces boucles permettent d'exécuter à plusieurs reprise un bloc de code en utilisant une variable numérique comme index.

Syntaxe
Code:
For <nom_de_la_variable> = <Début> To <Fin> Step <Modification>
 Code a exécuter
Next
Ou
Code:
For <nom_de_la_variable> = <Début> Until <Fin> Step <Modification>
 Code a exécuter
Next

Fonctionnement

Pour la boucle For/To, la boucle fonctionne jusqu'à ce que la variable soit plus grande que Fin. Pour la boucle For/Until, la boucle fonctionne jusqu'à ce que la variable soit plus grande ou égal à Fin. La modification de la variable via Step est optionnel. Dans le cas ou Modification n'est pas déclarée, le comptage ce fait de 1 en 1.

Exemple

Code:
;Affiche un compte à rebours de 10 à 0
 For x% = 10 to 0 Step -1
 ; Affiche le compte à rebours
 Output(Player, "Compte à rebours: " + x)
 ; pause d'une seconde
 DoEvents(1000)
Next

Les boucles For/EachIn

Code:
Syntaxe
For <nom_de_la_variable> = EachIn CollectionExpression
  Code a exécuter
Next


Les boucles While

Ces boucles permettent d'exécuter un bloc de code tant que la condition est vrai.
Syntaxe
Code:
While <Condition>
  Code a exécuter
WEnd

Fonctionnement
Tant que la condition est vrai, la boucle continue.

Exemple
Code:
;Affiche un compte à rebours de 10 à 0
x = 10
While ( x >= 0 )  
 Output(Player, "Compte à rebours: " + x)
 x = x + -1
 ; pause d'une seconde
 DoEvents(1000)
WEnd  

Les boucles Repeat

Ces boucles sont exécuter au moins une fois.

Syntaxe
Code:
Repeat
   Statements
Until <Condition>
Ou
Code:
Repeat
   Statements
Forever

Fonctionnement
Pour la boucle Repeat/Until, la boucle fonctionne jusqu'à ce que Condition ne soit plus vrai. Pour la boucle Repeat/Forever, la boucle est infini.

Exemple
Code:
x = 10
Repeat
 Output(Player, "Compte à rebours: " + x)
 x = x + -1
 ; pause d'une seconde
 DoEvents(1000)
Until (x <= 0)
Exit

Il est quand même possible de sortir d'une boucle Repeat/Forever grâce au mot clé Exit.

Exemple
Code:
x = 10
Repeat
 Output(Player, "Compte à rebours: " + x)
If (x = 0)
 Exit ;On sort de la boucle si x = 0
EndIf
 x = x + -1
 ; pause d'une seconde
 DoEvents(1000)
Forever

;on reprend le script ici

Code:
Output(Player, "Fin du compte à rebours")
avatar
Giuliani
Admin

Messages : 231
Points : 378
Date d'inscription : 25/06/2014
Age : 38
Localisation : Toulouse

http://realmcrafter.frbb.net

Revenir en haut Aller en bas

Voir le sujet précédent Voir le sujet suivant Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum