MASTER MIND CONSOLE

pyronet Messages postés 24 Date d'inscription samedi 14 février 2004 Statut Membre Dernière intervention 3 mai 2006 - 20 févr. 2006 à 01:01
pyronet Messages postés 24 Date d'inscription samedi 14 février 2004 Statut Membre Dernière intervention 3 mai 2006 - 20 févr. 2006 à 20:21
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/24646-master-mind-console

pyronet Messages postés 24 Date d'inscription samedi 14 février 2004 Statut Membre Dernière intervention 3 mai 2006
20 févr. 2006 à 20:21
Avec plaisir, Uxtobirza
en fait je planche sur un master mind avec intelligence artificielle en ce moment et j'ai regardé un peu les sources qui circulaient sur le web...
je posterai mon résultats quand ce sera fini ;-)
uxtobirza Messages postés 16 Date d'inscription dimanche 2 février 2003 Statut Membre Dernière intervention 3 juin 2008
20 févr. 2006 à 18:16
merci, j'ai corrigé 2 choses :
1/
for (i=0 ; i<9 ; i++)
{
combinaison[i]=0;
}
combinaison[i]=0;
il fallait mettre un caractère fin de chaine pour que ce soit lisible

2/ vers la fin du programme :

{ printf("la bonne combinaison :%s",combinaison); }

et non pas %d

des précisions :

- (rand()%10+'0');
va donner une valeur entre 48 et 58, soit un caractère entre '0' et '9' ce qui permet de traiter un chiffre comme du . caractère.

- combinaison est en effet un tableau de caractère, soit une chaine.

merci d'avoir vu les deux erreurs
pyronet Messages postés 24 Date d'inscription samedi 14 février 2004 Statut Membre Dernière intervention 3 mai 2006
20 févr. 2006 à 01:01
Salut,

Il est cencé fonctionner ce code ? J'ai voulu voire ce que ça donnait (compil avec devcpp) mais il y a beaucoup de problèmes dans ton code.
Rapidement, parce que j'ai commencé à faire des modifs pour le faire fonctionner :
Avant tout j'ai initialisé les tableaux à 0 :
for (i=0 ; i<9 ; i++)
{
combinaison[i]=0;
}

for (i=0 ; i<9 ; i++)
{
combijeu[i]=0;
}

Ensuite, il y a un problème avec ta randomisation...
ici : combinaison[i]=(char)(rand()%10+'0');
ça génère des nombre à 2 chiffres... je m'y suis pas attardé j'ai fait des tests avec un tableau que je rentre manuellement.

En gros je me suis arrêté là parce que j'ai vu que la suite ne marchait pas non plus... mais un dernier truc que j'ai remarqué :
printf("la bonne combinaison :%d",combinaison); cela ne marche pas car combinaison est un tableau, cette ligne t'affichera pas le contenu du tableau mais je pense plutot son adresse. Voilà comment faire :
for(i=0; i<nbchiffre; i++)
{
printf("%d", combinaison[i]);
}
je pense que les autres problèmes dans le test des combinaisons viennent aussi du fait que tu gère mal le tableau (mais je m'y suis pas attardé)

J'espère servir à quelquechose avec ces conseils et ne pas te raconter de bêtises (je me remet au C ça fait perpète)...
Rejoignez-nous