essai de mieux structurer ton code, et de bien te mettre à la place du programme :
par exemple tu fais plusieurs comparaisons à la suite comme ca :
if (coup[0]==84) piece=2; /*ici une tour*/
if (coup[0]==67) piece=3; /*ici un cavalier*/
if (coup[0]==70) piece=4; /*ici un fou*/
if (coup[0]==68) piece=5;
etc.
ton programme va faire chaque test à chaque fois alors que toi tu sais qu'il n'y aura qu'un seul cas de possible...
tu peux améliorer en faisant celà :
if (coup[0]==84) piece=2; /*ici une tour*/
else if (coup[0]==67) piece=3; /*ici un cavalier*/
else if (coup[0]==70) piece=4; /*ici un fou*/
else if (coup[0]==68) piece=5;
ou encore plus propre :
switch(coup[0]){
case 67: piece=3;break;
case 70: piece=4;break;
case 68: piece=5;break;
etc.
default://met ici les autres cas bizzare.
}
tu peux ajouter de la lisibilité plutôt que de mettre des commentaires, par exemple :
au début du programme :
#define TOUR 84
#define CAVALIER 67
#define FOU 70
et dans le code :
switch(coup[0]){
case TOUR: ...
case CAVALIER: ...
etc.
sinon la boucle infinie, tu peux mettre while(1)
un dernier conseil : essai de faire des fonctions pour bien séparer les différences parties de ton code.
Avec tous ces conseils tu devrais déjà avoir un code plus lisible et beaucoup plus facilement débuguable !
Tu sembles débuter en programmation, mais surtout ne te décourage pas, on est tous passsés par là ;)
# code
Posté par TImaniac (site web personnel) . En réponse au message ia d'échec.... Évalué à 3.
par exemple tu fais plusieurs comparaisons à la suite comme ca :
if (coup[0]==84) piece=2; /*ici une tour*/
if (coup[0]==67) piece=3; /*ici un cavalier*/
if (coup[0]==70) piece=4; /*ici un fou*/
if (coup[0]==68) piece=5;
etc.
ton programme va faire chaque test à chaque fois alors que toi tu sais qu'il n'y aura qu'un seul cas de possible...
tu peux améliorer en faisant celà :
if (coup[0]==84) piece=2; /*ici une tour*/
else if (coup[0]==67) piece=3; /*ici un cavalier*/
else if (coup[0]==70) piece=4; /*ici un fou*/
else if (coup[0]==68) piece=5;
ou encore plus propre :
switch(coup[0]){
case 67: piece=3;break;
case 70: piece=4;break;
case 68: piece=5;break;
etc.
default://met ici les autres cas bizzare.
}
tu peux ajouter de la lisibilité plutôt que de mettre des commentaires, par exemple :
au début du programme :
#define TOUR 84
#define CAVALIER 67
#define FOU 70
et dans le code :
switch(coup[0]){
case TOUR: ...
case CAVALIER: ...
etc.
sinon la boucle infinie, tu peux mettre while(1)
un dernier conseil : essai de faire des fonctions pour bien séparer les différences parties de ton code.
Avec tous ces conseils tu devrais déjà avoir un code plus lisible et beaucoup plus facilement débuguable !
Tu sembles débuter en programmation, mais surtout ne te décourage pas, on est tous passsés par là ;)