Compte à rebours
Résolu
skk201
Messages postés
942
Date d'inscription
Statut
Membre
Dernière intervention
-
skk201 Messages postés 942 Date d'inscription Statut Membre Dernière intervention -
skk201 Messages postés 942 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'aimerais faire un programme où il faut mettre un temps en seconde, et un code.
Après cela, le temps s'affiche et décent petit a petit , a moins que l'on rentre le code.
Est-ce que qqun saurait me guidé vers certaines bibliothèques ? Ou me donner des astuces ?
J'aimerais faire un programme où il faut mettre un temps en seconde, et un code.
Après cela, le temps s'affiche et décent petit a petit , a moins que l'on rentre le code.
Est-ce que qqun saurait me guidé vers certaines bibliothèques ? Ou me donner des astuces ?
A voir également:
- Clock csfml
- Créer un compte google - Guide
- Installer windows 10 sans compte microsoft - Guide
- Créer un compte gmail - Guide
- Comment savoir qui regarde mon compte facebook - Guide
- Créer un compte instagram sur google - Guide
Avec CSFML on peut utiliser cela : https://github.com/SFML/CSFML/blob/master/include/SFML/System/Clock.h
Dal
je vais regarder ce que disent vos piste.
Si non est-ce que vous pensez que un autre langage serait mieux pour ce genre de programme ?
Dans ma premiere idee pour faire le compte a rebourd, je pensait définir une variable DebT qui serait l'heure quand on lance le timer, et que la variable FinT, serait définie ainsi : DebT + nombre de secondes tapées = FinT
le tout converti en seconde bien sur
et il y aurait une boucle qui contrôlerait si "une seconde a passer" donc le temps afficher diminuerait de 1sec
et cette boucle contrôlerait egalement si : temps actuel = FinT , ce qui mettrait fin a la boucle.
enfin je peux vous donner plus de details si vous trouvez que ca pourrait jouer
1.
Si tu utilises les fonctions C standard time() et difftime() (inclure time.h), tu peux facilement vérifier la différence en secondes entre deux cycles d'exécution de programme. Si tu n'as pas besoin de plus de précision, tu peux t'en contenter.
Tu peux ensuite afficher avec des printf le temps qui reste. Cela ne sera pas très joli (car en C standard tu ne peux pas contrôler là où tu écris sur l'écran, donc tes différents printf vont simplement défiler au lieu de mettre à jour l'endroit de l'écran qui nécessite de l'être), mais cela peut marcher.
Là où tu auras un problème en C standard, c'est pour gérer l'entrée clavier alors que la boucle doit poursuivre son exécution. Les fonctions standard du C gérant l'interaction avec le clavier vont interrompre l'exécution du programme dans l'attente de l'entrée en question.
Même si tu résouds ce problème, tu en auras un autre : ton programme va boucler sur lui même tellement vite qu'il va occuper ton CPU pour pas grand chose.
C'est notamment pour cela que les différentes solutions postées par les contributeurs à ce fil t'ont été proposées.
2.
Une autre solution pour gérer le clavier qui pourrait ne pas nécessiter l'installation de bibliothèques ou la gestion de threads, pourrait être de capturer les scan-codes des touches du clavier pressées. Cela ne sera pas non plus du C standard portable, car la façon de faire dépendra de ton système d'exploitation.
Tu n'as pas précisé quel était ton système d'exploitation, malgré la question de landboa à ce sujet.
3.
Si tu tiens à rester en mode terminal, et que tu ne veux pas d'une bibliothèque graphique, tu pourrais installer une bibliothèque de type ncurses pour gérer l'écran du terminal.
Si tu trouves l'installation d'une bibliothèque trop lourde, il y a aussi des astuces, dépendant du système d'exploitation (non portables), permettant de placer du texte à telles coordonnées de l'écran, ce qui pourrait suffire à ton besoin.
4.
est-ce que vous pensez que un autre langage serait mieux pour ce genre de programme ?
Je ne suis peut-être pas le mieux placé pour te répondre, mais, oui, sûrement, il y a des langages plus faciles que le C pour faire des choses de ce type, qui sont plus complexes qu'il n'y parait.
Mais pour que les membres du forum puissent te renseigner utilement, je pense qu'il faudrait que tu dises quel est ton système d'exploitation, et si ce que tu veux faire c'est un programme en mode terminal, en mode graphique ou mode fenêtré.
Par exemple, en HTML et Javascript, le forum CCM renvoie ceci : https://forums.commentcamarche.net/forum/affich-18953410-comptes-a-rebours-html
Dal
P.S. : on écrit "rebours"
Désoler pour ce manque de précision. Alors le programme tournera sur un petit PC portable, je crois qu'il tourne sur Windows XP, mais la je ne suis pas sûr et certain.
Le but de ce code est de faire une "bombe" pour des parties de Airsoft.
L'idale serait un mode fenêtré. Mais je ferait avec mes capacités, donc si je n'arrive qu'a faire un code pour le mode terminal alors je le ferait en terminal en attendant.
Le problème du mode terminal, c'est qu'il faudrait qu'il soit afficher en grand écran. Il y a aussi le problème que la personne qui doit "désamorcer le code" peut lire s'il remonte tout en haut du terminal, le code qui a été taper.
Pour la gestion temps/clavier je pense avoir ma petite idée la dessus.
Mais si finalement je n'arrivais pas a aboutir à une solution en C, j'essayerait de faire une application androide.
Merci pourvos conseils !