Compte à rebours
Résolu/Fermé
skk201
Messages postés
938
Date d'inscription
jeudi 11 septembre 2008
Statut
Membre
Dernière intervention
16 octobre 2016
-
12 mars 2014 à 07:49
skk201 Messages postés 938 Date d'inscription jeudi 11 septembre 2008 Statut Membre Dernière intervention 16 octobre 2016 - 13 mars 2014 à 10:43
skk201 Messages postés 938 Date d'inscription jeudi 11 septembre 2008 Statut Membre Dernière intervention 16 octobre 2016 - 13 mars 2014 à 10:43
A voir également:
- Clock csfml
- Créer un compte google - Guide
- Créer un compte gmail - Guide
- Supprimer compte instagram - Guide
- Créer un compte instagram sur google - Guide
- Gmail connexion autre compte - Guide
Modifié par gravgun le 12/03/2014 à 11:46
12 mars 2014 à 13:16
Avec CSFML on peut utiliser cela : https://github.com/SFML/CSFML/blob/master/include/SFML/System/Clock.h
Dal
13 mars 2014 à 07:44
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
Modifié par [Dal] le 13/03/2014 à 10:25
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"
13 mars 2014 à 10:43
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 !