Bonjour,
Je suis en train de creer une sorte de SIMS(tamagotchi plus evolue) en Console,mais je suis confronte a un probleme : la gestion du temps.
Il faudrait que je puisses creer une fonction qui se deroule parallelement au jeu et qui puisses envoyer le temps au jeu toutes les secondes.
Je sais qu'il existe ce qu'on appelle des threads que je sais creer avec la SDL , mais la je suis en console et j'aimerais savoir si on peut creer ce genre de fonction en C++;
POur la gestion des threads, regarde mon tuto (cf ma signature a la fin, j'ai un petit exemple de multithreading sous Windows)
Sinon, pour ton probleme, je ne suis pas sur ce qu'il soit nécessaire de faire du multithreading : tu as des fonctions que tu peux interroger a tout moment, et qui te donnent un temps absolu en millisecondes : tu n'as qu'a faire des soustractions avec un temps précédent pour évaluer le temps passé depuis la derniere fois
Tu peux ainsi gérer facilement des Chronos.
Ma fonction thread pourrait m'être utile pour savoir par exemple quand aller au travail , ou l'heure qu'il est quand il parle a quelqu'un d'autre le temps qu'il est reste sans dormir etc...J'ai besoin d'avoir un temps reel mais qui passe un peu beaucoup plus rapidement qu'en realitee.Pour cela ma fonction parallele va prendre l'heure qu'il est ,la modifier et l'envoyer au programme toutes les secondes qui prendra l'heure quand il voudra et agira en conséquence.
En gros ma fonction servira a modifier le temps pour l'adapter au temps du jeu.
Prend une variable qui va contenir le dernier temps lu et à chaque fois que tu passes au moment où tu veux lire le temps tu fais nouveau_temps - ancien_temps = difference_temps. Ensuite tu redistribut tout ca dans une classe qui va calculer l'heure qu'il est dans ton jeux et te retourner le temps facilement. Il y a plusieurs techniques : soit que tu conserve le temps de départ du programme en millisecondes qui devient l'heure 0 et tu divise la différence à chaque fois que tu demandes l'heure... Ou tu fais plusieurs variables qui vont contenir l'heure et les minutes, la date même si tu veux et à chaque tour de boucle tu les incrémentes selon la différence de temps entre chaque itérations.
Le choix de la technique dépend du nombre de fois que tu vas demander l'heure par itération, si c'est une seule fois, la première technique va te sauver du temps alors que si tu veux le demander 120 fois mieux vaut la 2e.
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Recueil de code C et C++ http://fvirtman.free.fr/recueil/index.html