Bonjour, c'est ici mon premier message, je suis débutant en
programmation et fait du C ;), désolé si la question a déja été posé,
je ne la retrouve plus :(
Donc voici mon problème, j'ai une boucle et je souhaite pouvoir y inséré une valeur sans que le programme ce mete en "pause" ...
Voici un exemple pour illustré ma question ;)
A=0
for (i=0;i<100;i++){
Sleep(100);
printf("i est egale a %d et A est egale a %d \n",i,A);
// A est un chiffre que l'on entre au clavier, mais l'ordi n'attend pas
qu'on la tappe pour continué la boucle, ni que l'on attent que
l'utilisateur tappe entré donc pas de scanf ou getch
}
Je pose cette question car je bloque a cause de ca dans la programation de mon Snake ;)
Voila merci a tous ;)
A voir également:
Comment saisir une touche durant l'execution d'une boucle sans metre en "pause"
Alors j'ai regarde mes codes hier soir et je me suis appercu que j'avais marquer une grosse c......... .... heu..... disons betise....
C'etait bien kbinit() qu'il faut utiliser mais pas comme je l'ai monter au dessus...
/* Debut du code */
char touche;
/* Boucle infini du jeu, met ton propre code a la place*/
while ( 1 )
{
if ( kbinit() ) // si une touche est presse
{
touche = getch(); // on recupere la touche transmise a kbinit()
}
/* Place ici ton code pour faire avancer ton serpent ..... */
}
/* Fin du code */
Le fonctionnement set simple. Tant qu'aucune touche n'est presse, la boucle continue sans rien demander. Si tu appuie sur un touche, a ce moment tu rentre dans le if et la tu fait ton traitement en fonction de l'action ( monter, descendre, bref tu vois quoi .... )
En esperant que sa te serve ....
@++ et bon code !
"Avant même de fonctionner, tout programme est déjà obsolète."
Voila j'ai trouvé un bout de code qui pourra peut être t'aider:
#include <stdio.h>
#include
#include <ctype.h>
int key, modifiers;
/* function 1 returns 0 until a key is pressed */
while (bioskey(1) == 0);
/* function 0 returns the key that is waiting */
key = bioskey(0);
/* use function 2 to determine if shift keys were used */
modifiers = bioskey(2);
if (modifiers)
{
printf("[");
if (modifiers & RIGHT) printf("RIGHT");
if (modifiers & LEFT) printf("LEFT");
if (modifiers & CTRL) printf("CTRL");
if (modifiers & ALT) printf("ALT");
printf("]");
}
/* print out the character read */
if (isalnum(key & 0xFF))
printf("'%c'\n", key);
else
printf("%#02x\n", key);
en theorie sa doit fonctionner car je m'en servais pour une autre appli donc...
peut etre faudra modifier mais il me semble que c'est sa...
tiens moi au courant !
"Avant même de fonctionner, tout programme est déjà obsolète."
lol.. j'ai pas du bien regarder alors ... desole ... Je suis content d'avoir pu te donner un coup de main ... n'oublie de poster le source de jeux !!! @++
"Avant même de fonctionner, tout programme est déjà obsolète."