cs_AlexMAN
Messages postés1536Date d'inscriptionsamedi 21 décembre 2002StatutMembreDernière intervention24 mai 2009
-
13 avril 2004 à 12:48
cs_AlexMAN
Messages postés1536Date d'inscriptionsamedi 21 décembre 2002StatutMembreDernière intervention24 mai 2009
-
14 avril 2004 à 18:27
Bonjour,
Voila, j'ai un ptit pb dans la fonction ki suit : si je place le printf ki suit getch() en commentaire, le code ne fonctionne plus, au contraire, si je le mets, le code fonctionne...Je comprends vraiment pas pkoi !!
Si kelkun pouvait m'aider, je vous remercie d'avance...
Et une autre ptite kestion en passant : je suis obligé d'utiliser getch() (de conio.h), mais jmré utiliser getc ou scanf mais ca marche pa !!
Voila, merci d'avance..
int *Touche(int iNbre_Time, int iMax)
{
int iTouche = 0;
int i;
iChoice = (int *)malloc(iNbre_Time * sizeof(int));
//printf("Time = %d\n", iNbre_Time);
for (i = 0; i < iNbre_Time; ++i){
DrawNumber(450 + (i * 30), 400, 0, 15);
do {
fflush(stdin);
iTouche = getch();
printf("fuck%d\n", i);
switch (iTouche){
case 72 : //Fleche haut
if (iChoice[i] < iMax) ++iChoice[i];
else if (iChoice[i] == iMax) iChoice[i] = 0;
break;
case 80 : //Fleche bas
if (iChoice[i] == 0) iChoice[i] = iMax;
else if (iChoice[i] > 0) --iChoice[i];
break;
}
//Et modifier le DE en fonction des "desirs" du joueur
DrawNumber(450 + (i * 30), 400, iChoice[i], 15);
}while (iTouche != 13); //Entrée
}
ensiame
Messages postés15Date d'inscriptionmercredi 10 mars 2004StatutMembreDernière intervention15 décembre 2005 14 avril 2004 à 13:23
Ta variable i en sortie de ta première boucle for vaut iNbre_Time. Elle n'est pas modifiée par la suite donc je m'interroge sur son intérêt, si ce n'est qu'elle permet d'écrire moins de code tout en rendant la compréhension plus difficile.
scanf récupère des caractères venant du flot d'entrée par défaut (puis les interprète éventuellement). Il ne peut donc en aucun cas intercepter des pressions de flèches de direction.
D'autre part, la touche Entrée (de même que espace, tab, et autres) marque un séparateur de champ du point de vue de scanf, donc n'est pas reçue en tant que caractère. Donc il est normal que tu ne puisses utiliser scanf pour ton exemple.
Pour le reste, tu pourrais être plus explicite que "le code ne fonctionne pas"?