Optimisation

arf63 Messages postés 2 Date d'inscription vendredi 11 février 2005 Statut Membre Dernière intervention 11 février 2005 - 11 févr. 2005 à 06:11
arf63 Messages postés 2 Date d'inscription vendredi 11 février 2005 Statut Membre Dernière intervention 11 février 2005 - 11 févr. 2005 à 12:41
Salut j aimerai savoir s il y a moyen d optimiser ca avec un switch case je le maitrise moyenement si quelqu un pourait m aider

if (iMat[iPosy][iPosx] == 0 && iMouvOk==0)
{
iMat[iPosy][iPosx]+= 3;
}
else if (iMat[iPosy][iPosx] == 1)
{
iMat[iPosy][iPosx]++;
}
else if (iMat[iPosy][iPosx] == 2 && iMouvOk==0)
{
iMat[iPosy][iPosx] ++;
iPoints++;
}
else if (iMat[iPosy][iPosx] == 3 && iMouvOk==0)
{
iMat[iPosy][iPosx]++;
}

Merci d avance

3 réponses

otofraise Messages postés 66 Date d'inscription vendredi 4 avril 2003 Statut Membre Dernière intervention 4 novembre 2010
11 févr. 2005 à 08:34
Salut,

Avec un switch tu obtiendra guere mieux, puisque tu as des conditions mulitples.

Par contre tu peux regrouper les if qui donne le meme resultat, a savoir :

if (iMat[iPosy][iPosx] == 0 && iMouvOk==0)
{
iMat[iPosy][iPosx]+= 3;
}
else if(iMat[iPosy][iPosx] == 1 || iMat[iPosy][iPosx] == 3 && iMouvOk == 0)
{
++iMat[iPosy][iPosx];
}
else if (iMat[iPosy][iPosx] == 2 && iMouvOk==0)
{
iMat[iPosy][iPosx] ++;
iPoints++;
}

mais dans ton cas ca n'apporte pas grand chose, et la decomposition comme tu as fait amelior la lisibilite de ton code.

Oto
0
HCJarod Messages postés 221 Date d'inscription mardi 12 août 2003 Statut Membre Dernière intervention 11 décembre 2008 1
11 févr. 2005 à 08:52
essai ça mais c'est pas le bout du monde!



switch(iMat[iPosy][iPosx])

{

case 0 :

if(!iMouvOk)

iMat[iPosy][iPosx]+= 3;

break;

case 2:

if( !iMouvOk )

iPoints++;

//pas de break ici

case 3 :

case 1 :

iMat[iPosy][iPosx] ++;

break;

}
Chaque problème a sa solution. S'il n'y a pas de solution c'est qu'il n'y a pas de problème.
a+
0
arf63 Messages postés 2 Date d'inscription vendredi 11 février 2005 Statut Membre Dernière intervention 11 février 2005
11 févr. 2005 à 12:41
Merci beaucoup a vous deux et a la prochaine Votre aide m'a été précieuse

a+
0
Rejoignez-nous