1 pièce(s) jointe(s)
Problème de tableau (cast)
Bonjour,
--I/Présentation
Je fais actuellement un jeu consistant à créer un jeu du pendu sur console(comme demandé ds le tuto que je suis.
--II/Le Code
Mais voila je rencontre un problème que je n'arrive VRAIMENT pas à résoudre.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
| //--------------------------TP:Jeu Du Pendu---------------------------------------------------------------------------------------
char lireCaractere() {
char caractere = 0;
caractere = getchar(); // On lit le premier caractère
caractere = toupper(caractere); // On met la lettre en majuscule si elle ne l'est pas déjà
// On lit les autres caractères mémorisés un à un jusqu'au \n (pour les effacer)
while (getchar() != '\n') ;
return caractere; // On retourne le premier caractère qu'on a lu
}
void jeuDuPendu(){
char motMystere[]="MARRON";
char newCa;//newCa=nouveau caractere cad celui que l'utilisateur rentre
int nbreCo=0;//nbreCo=nombre de coups joué
int nbreCa=strlen(motMystere);//nbreCa=nombre de Caractere
int *pointNbreCa=&nbreCa;//*pointNbreCa:contient l'adresse de la var nbreCa
int nbreVie=10;//nbreVie=nombre de vie
printf("nbre de Cara:%d\n",nbreCa);
char motMasque[*pointNbreCa];//Ce qui s'affiche à l'ecran
int h=0,i=0,j=0,k=0;//autres compteurs
int tabTmp[j];//Ds ce tableau se trouveront mémorisé les indices des endroits ou il y eu une correspondance entre le"motMystetre"est"newCa"
for(h=0;h<*pointNbreCa;h++){
motMasque[h]="*";
if(h==*pointNbreCa-1){
printf("--mot mystere:%s",motMasque);
}
}
/*char motMasque=malloc(nbreCa * sizeof(char));
if(motMasque=NULL){
exit(0);
}else{
for(h=0;h<=*pointNbreCa;h++)
motMasque="*";
if(h==*pointNbreCa){
printf("--mot masque:%s",motMasque);
}
}*/
for(nbreCo=0;nbreCo<nbreVie;nbreCo++){
newCa=lireCaractere();
for (i=0;i<nbreCa;i++){//On Verifie(par comparaison)si la lettre rentrée existe ds le"motMystere"
if(newCa==motMystere[i]){
j++;
nbreCo=nbreCo-1;
tabTmp[j]=i;
}
}
for(k=0;k<=j;k++){//Ici on va écrire les lettres à leurs emplacement
int indice=tabTmp[j];
motMasque[indice]=newCa;
}
printf("--motMystere:%s",motMasque);
}
}
//----------------------FIN:TP:Jeu Du Pendu--------------------------------------------------------------------------------------- |
--III/Les erreurs
Le prb se situe à la ligne 28(ici:)
Comme vs pouvez le voir j'ai éssayé de différentes de manière(ds les coms):tableau dynamique...etc.
Voila le message d'erreur:(qui correspond à la ligne 28)
Pièce jointe 157453
Voila ce que la console renvoie(au début car plus on avance,cad qu'on joue plus sa beug :'( )
Pièce jointe 157452
Svp j'ai vraiment besoin d'aide je ne sais vraiment pas ce qui ne va pas