Archives des forums MMO/MMORPG > Neverwinter Nights > NWN - Maskado > "switch(){}" ?
"switch(){}" ?
Par Mastokk le 27/12/2002 à 11:09:49 (#2887372)
Par eMRaistlin le 27/12/2002 à 12:09:25 (#2887820)
if (nNumber == 1)
{
//Ici tu met ce que tu veux
}
if (nNumber == 2)
{
//Ici tu met ce que tu veux
}
if (nNumber == 3)
{
//Ici tu met ce que tu veux
}
if (nNumber == 4)
{
//Ici tu met ce que tu veux
}
if (nNumber == 5)
{
//Ici tu met ce que tu veux
}
la même chose :
switch (nNumber)
{
case 1:
//ici tu met ce que tu veux
break;
case 2:
//ici tu met ce que tu veux
break;
case 3:
//ici tu met ce que tu veux
break;
case 4:
//ici tu met ce que tu veux
break;
case 5:
//ici tu met ce que tu veux
break;
}
En mettant dans le case la valeur que doit prendre le nNumber pour que l'action soit attendue.
Par Tynril le 27/12/2002 à 14:20:16 (#2888842)
switch(nValue) {
Exemple avec des constantes préprocessorales (ne fonction pas (encore) en NWScript)
case 1: break;
default: break;
}#define MY_CONSTANT_1 1
Contre-exemple qui ne marche PAS:
#define MY_CONSTANT_2 2
#define MY_CONSTANT 3 3
switch(nValue) {
case MY_CONSTANT_1: break;
case MY_CONSTANT_2: break;
case MY_CONSTANT_3: break;
default: break;
}int nMyConstant1 = 1;
int nMyConstant2 = 2;
int nMyConstant3 = 3;
switch(nValue) {
case nMyConstant1: break;
case nMyConstant2: break;
case nMyConstant3: break;
default: break;
}
Par Jedaï le 27/12/2002 à 16:35:59 (#2889726)
Par ailleurs, point important : ne jamais oublier le "break;" à la fin d'un "case" car sinon l'exécution continue sur le "case" suivant. Ca peut être très pratique mais la plupart du temps c'est une grave erreur ...:D
Par Thognill le 27/12/2002 à 20:06:59 (#2891042)
Par Mastokk le 27/12/2002 à 20:09:20 (#2891047)
Par [GO]Skywalker13 le 27/12/2002 à 20:50:49 (#2891317)
Par coolstar le 27/12/2002 à 21:28:14 (#2891512)
Par RAT le 28/12/2002 à 4:11:34 (#2893534)
que cela soit donc un entier, ou une chaine.
Enfin bon :)
Par [GO]Skywalker13 le 28/12/2002 à 10:23:20 (#2894014)
Et les scripts NWN ressemble fortement à du C..
[la je parle pour le language C et je suppose que c'est pareil ici.. merci de me corriger si je me trompe.]
Pour ce qui est de SELECT CASE.. c'est une grosse connerie de microsoft avec son VB.. Le VB et l'optimisation n'allant pas de paire :-)
Par coolstar le 28/12/2002 à 15:00:01 (#2895408)
Et même si ça ne fonction qu'avec des Integers, pourquoi ne pas en ce cas appliquer StringToInt... :D
...
JOL Archives 1.0.1
@ JOL / JeuxOnLine