Décompte (timer) comme dans les jeux type ogame,etc...

Décompte (timer) comme dans les jeux type ogame,etc... - PHP - Programmation

Marsh Posté le 22-10-2009 à 10:47:45    

Bonjour,
 
J'aimerais trouver un moyen de faire un compte a rebours comme dans certains jeux en ligne type ogame, etc...
 
Je m'explique :
 
Le joureur lance une action X, il a le choix (30 min, 1 heure, 2 heures, 10 heures)...
 
Par exemple il choisit 2 heures, le compteur affiche : il vous reste 2 h pour developper la compétence Y.
 
A partir de là les choses se compliquent, j'aimerais :
 - Pouvoir faire un décompte à la seconde : 1h 59min 59sec... 1h 59min 58sec... 1h 59min 57sec... etc, jusqu'à la fin de temps restant
 - Pouvoir reprendre ce compteur si le joueur change de page puis revient sur la page du compteur
 - A la fin du compteur lancer une requete sql qui viendra mettre a jour la compétence (même si l'utilisateur n'est pas connecté) : donc pas une action du joueur pour lancer la requete...
 
Pouvez vous m'éclairer sur la technique a utiliser ?
 
Merci d'avance.


---------------
Mon topic de vente http://forum.hardware.fr/hfr/Achat [...] 9217_1.htm  -- Mon Feed-Back : http://forum.hardware.fr/hfr/Achat [...] 0553_1.htm
Reply

Marsh Posté le 22-10-2009 à 10:47:45   

Reply

Marsh Posté le 22-10-2009 à 13:19:01    

Quel genre de programme ? Programme traditionnel où il y a un fichier ".exe" sur une machine (et dans ce cas avec quel OS et langage de programmation), ou bien un programme de type client serveur où il y a une partie du programme sur un serveur, et une autre partie chez l'utilisateur (et dans ce cas avec utilisation d'un navigateur internet ou avec une autre solution) ?
 
Le plus compliqué, c'est dans le cas du client serveur, car l'horloge doit être activée du côté du client. Pour une application internet, cela peut se faire avec un timer qui fait des submit réguliers ou avec de l'Ajax.
 

Reply

Marsh Posté le 22-10-2009 à 15:09:25    

C'est en client serveur (php/mysql) et avec un navigateur web.
 
Pour moi le compteur est pas compliqué (enregistement en base de la date de fin + fonction javascript qui décompte, ca doit pouvoir le faire), le plus compliqué étant de lancer à la fin du temps la requete qui va venir mettre a jour la compétence (même si l'utilisateur n'est pas connecté) et là je vois pas...
 
Merci.


---------------
Mon topic de vente http://forum.hardware.fr/hfr/Achat [...] 9217_1.htm  -- Mon Feed-Back : http://forum.hardware.fr/hfr/Achat [...] 0553_1.htm
Reply

Marsh Posté le 22-10-2009 à 15:27:07    

le compteur est géré coté serveur , pas coté client ( risque de bidouille)  
 
lorsque tu génère ta page en phph , tu initialise les compteurs javascript  
 
pour la gestion de la fin de la requete, perso , je ferai plutot l'inverse. Dès qu'on lance la compétence, on ajoute en base une ligne disant que la comp sera active à partir de 12h43 et 27s


---------------

Reply

Marsh Posté le 25-10-2009 à 17:42:04    

kolbek a écrit :

C'est en client serveur (php/mysql) et avec un navigateur web.
 
Pour moi le compteur est pas compliqué (enregistement en base de la date de fin + fonction javascript qui décompte, ca doit pouvoir le faire), le plus compliqué étant de lancer à la fin du temps la requete qui va venir mettre a jour la compétence (même si l'utilisateur n'est pas connecté) et là je vois pas...
 
Merci.


 
Tu enregistres dans une table toutes les actions avec les dates de fin.
Ensuite, une cron passe lire toutes les minutes tout ce qui est fini depuis + de 0 seconde et met à jour les compétences (ou une production horaire pour les jeu à la ogame).
C'est automatique, inconvénient, tu as maximum 1 minutes de retard (peut-etre + suivant la quantité de mise à jour à faire).
 
Bon courage.


---------------
Pays et country_code traduits : https://www.iso-country-code.com
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed