|
En plus de "if" les
rapports, là sont d'autres manières de commander comment le code
coule. Les choses telles que des boucles et des rapports de
commutateur vous permettront fin-accordent votre code, et obtiennent
les résultats que vous voulez. Pour être honnête, je n'ai jamais
employé un rapport de commutateur dans UnrealScript, mais je les
expliquerai de toute façon, puisque chacun modèle de codage est
différent. Des boucles, cependant, j'emploie toute l'heure. Elles
peuvent être extrêmement utiles pour faire certaines choses. Il y a
trois types de boucles dans UnrealScript, que j'expliquerai
ci-dessous.
Pour les boucles
Pour des boucles sont
le type que j'emploie les la plupart, puisque j'ai constaté qu'elles
adaptent habituellement mes besoins aussi bien ou les améliorent que
les deux autres types. Le concept de base pour la boucle doit
exécuter un certain bloc de code à plusieurs reprises encore,
jusqu'à ce qu'un certain état soit réuni.
var int
i;
for
( i=0; i<5; i++ )
{
Do stuff;
}
Le premier rapport
dans la parenthèse, "i=0", ensembles que la valeur initiale de "i"
comme boucle commence. Le deuxième rapport, "i<5", est la condition
qui doit être rencontrée pour que la boucle continue de s'exécuter.
Dès qu'"i" sera supérieur ou égal à 5, la boucle se terminera. Le
rapport final, "i++", est ce qui est fait à "i" chaque fois que la
boucle s'exécute. Ainsi, la première fois que cette boucle
s'exécute, j'égalerai 0. La prochaine fois que, je serai incrémenté
par un, lui faisant l'égale 1. C'est encore moins de 5, ainsi la
boucle s'exécute encore. La fois prochaine, j'aurai 2, puis 3, puis
4, et finalement 5 ans. La boucle se terminera une fois qu'elle
obtient à 5, puisque 5 n'est pas moins de 5.
Faire des boucles
Faire des boucles,
n'ayez aucune expression intégrée pour incrémenter des compteurs ou
placer des valeurs initiales. Ils s'exécutent simplement à plusieurs
reprises jusqu'à ce qu'une condition à l'extrémité de la boucle soit
réunie. Puisqu'ils n'ont aucune expression intégrée pour incrémenter
une variable, vous devrez inclure une ligne dans la boucle que de
façon ou d'autre les incréments ou change votre contre- variable, de
sorte que l'état de fin par la suite soit réuni. Autrement, vous
obtenez une boucle infinie. Pas une bonne chose.
var int
i;
do
{
Do stuff;
i++;
}
until
(i == 5);
Vous noterez qu'"i" a
inclus la ligne "i++;" dans la boucle. Ceci incrémentera "i" chaque
fois que la boucle s'exécute, ainsi elle se terminera quand "i"
obtient à 5. La distinction principale du font une boucle est le
fait qu'elle s'exécute jusqu'à ce qu'une certaine condition soit
vraie. Tous les deux pour et tandis que les boucles s'exécutent
tandis qu'une certaine condition est vraie.
Tandis que la boucle
Tandis que les boucles
sont fondamentalement faites de boucles, excepté le fait qu'ils
s'exécutent tandis que leur état est vrai, tandis que faites les
boucles s'exécutent jusqu'à ce que leur état soit vrai. Encore, vous
devrez inclure une ligne dans la boucle pour incrémenter de façon ou
d'autre votre contre- variable, puisqu'il n'y a aucune expression
intégrée pour ceci dans la déclaration de boucle.
var int
i;
while
( i < 5 )
{
Do stuff;
i++;
}
Commutez les rapports
Un rapport de
commutateur est fondamentalement comme un compliqué si rapport. Il
vous permet d'exécuter différents blocs de code selon la valeur
d'une certaine variable. Jetez un coup d'oeil à cet exemple:
var string[32]
Developer;
switch
( Developer )
{
case "Tim":
Hey, it's Tim. Do something;
break;
case "Cliff":
Look, there's Cliffy.
Do something else;
break;
case "Myscha":
Where'd Myscha come from?
Better do something else;
break;
default:
No one
here;
break;
}
Pas trop compliqué.
Vous approvisionnement juste la variable que vous voulez employer
pour le commutateur dans le premier paramètre, puis écrivez
différents "cases" selon les différentes valeurs de la variable.
L'étiquette finale de "défault" est facultative, et sera exécutée si
aucun des autres cas n'est vrai. Notez les rapports de coupure
marquant l'extrémité de chaque cas.
Comme je disais avant,
les rapports de commutateur sont compliqués fondamentalement
simplement si des rapports. J'ai rarement l'utilisation pour eux,
puisque les mêmes effets peuvent être réalisés simplement en
employant un if/else if/else.
|