Prog en C, problème de timing System('cls')
Aieru
-
ymca -
ymca -
Bonjour,
Je programme actuellement un snake en C pour un projet de fin de première année et je n'ai malheureusement pas accès à la librairie SDL. Notemment pour qu'il se déplace tout seul lorsque l'on n'appuie sur aucune touche, j'ai utilisé un kbhit() ainsi qu'un system('cls') à l'intérieur.
Le problème est que du coup mon programme est légèrement saccadé; on dirait qu'il "clignote". J'aimerais savoir s'il est possible d'enlever ou de réduire cet effet en racourcissant par exemple le temps du system('cls') ou si vous avez une autre solution ?
Merci !
Je programme actuellement un snake en C pour un projet de fin de première année et je n'ai malheureusement pas accès à la librairie SDL. Notemment pour qu'il se déplace tout seul lorsque l'on n'appuie sur aucune touche, j'ai utilisé un kbhit() ainsi qu'un system('cls') à l'intérieur.
Le problème est que du coup mon programme est légèrement saccadé; on dirait qu'il "clignote". J'aimerais savoir s'il est possible d'enlever ou de réduire cet effet en racourcissant par exemple le temps du system('cls') ou si vous avez une autre solution ?
Merci !
A voir également:
- Prog en C, problème de timing System('cls')
- Reboot system now - Guide
- Cette action ne peut pas être réalisée car le fichier est ouvert dans system - Guide
- System fan 90b - Forum Matériel & Système
- Timing ram - Guide
- Advanced system care - Télécharger - Optimisation
4 réponses
le problème avec la fonction cls c'est qu'elle nettoie la totalité de l'écran il doit exister des fonctions qui n'agissent que sur une certaines zone te permettant ainsi de ne pas devoir redessiner ton serpent ainsi que le décor a chaque déplacement.
j'espère t'avoir été utile
j'espère t'avoir été utile
Oui en effet j'en suis arrivée à la même conclusion mais ça fait 3 jours que je fais des recherches justement de fonctions dont tu parles ou d'autre solution mais je ne trouve vraiment rien du tout... c'est pourquoi je suis venue ici :/
ton programme est en mode console?
il semblerais en fait que ce soit impossible dans ce mode sans utiliser une librairie:
https://www.developpez.net/forums/d698709/c-cpp/c/debuter/effacer-zone-console/
il semblerais en fait que ce soit impossible dans ce mode sans utiliser une librairie:
https://www.developpez.net/forums/d698709/c-cpp/c/debuter/effacer-zone-console/
Effectivement mon programme est en mode console !
Merci beaucoup mais, contrairement à ce que tu dis, cela semble possible sur le lien que tu m'as donné... ^^
Du moins pour moi, car la bibliothèque Conio est installée par défaut sur Visual Studio (du moins je l'ai) du coup je peux l'utiliser ... Merci!
Merci beaucoup mais, contrairement à ce que tu dis, cela semble possible sur le lien que tu m'as donné... ^^
Du moins pour moi, car la bibliothèque Conio est installée par défaut sur Visual Studio (du moins je l'ai) du coup je peux l'utiliser ... Merci!
Le principe est de gérer l'affichage en mode "plein écran" de façon à ne modifier "que ce qui bouge"... C'est, par exemple, faisable avec la bibliothèque CONIO (DOS/Windows) : http://delahaye.emmanuel.free.fr/spip.php?rubrique21