Decompte temporel

Résolu
Messages postés
507
Date d'inscription
mardi 18 février 2003
Statut
Membre
Dernière intervention
22 juin 2012
-
Messages postés
507
Date d'inscription
mardi 18 février 2003
Statut
Membre
Dernière intervention
22 juin 2012
-
Bonjours a tous et merci de voter attention

Voila j'ai une question , j'aimerai savoir si c'est possible (et si oui comment - une tite source ou un exemple serai le bienvenue)
C'est assez compliquer donc je vais prendre un exemple :

je veux par exemple  qu'il y ai un chronos qui se decompte de 29 min a 0 min
le truc c'est que quand on reload la page faut pas que sa reprenne a 29 min
par exemple si on reload la page a 4min35 faut que sa reprenne a 4min33 (en comptant 2sec de reload de page)

j'espere avoir été claire...
D'avance merci
L0rD...

10 réponses

Messages postés
316
Date d'inscription
vendredi 23 mai 2003
Statut
Membre
Dernière intervention
19 septembre 2012

Voila, j'ai pas eu le temps de tout le week mais c'est bon c fait.
ça m'a pris une 12ene de minutes.

Donc a cette adresse tu as un test, et le zip qui contient tout, a faire marcher sur serveur bien sur ou avec un outil genre easyphp.

http://schiouff.dyndns.org/~autres

Je n'ai pas fait le décompte en flash, a toi de faire, c'est facile tu regardes dans l'aide à setInterval().
Sinon y'a surement des source qui le font. Et faudra que tu stoppes ton "jeu" à la fin du chrono.

A bientot.

KiNgCoBrA
Messages postés
507
Date d'inscription
mardi 18 février 2003
Statut
Membre
Dernière intervention
22 juin 2012
2
comme je t'ai dit j'y ai aussi réfléchi je ne demande pas a quelqu'un sans y reflechir aussi par moi même et j'ai je pense abouti a une solution
je te l'expose pourrait tu me dire si sa te semble probable et si oui quel solution est la meilleur

Voici mon idée :

On prend une date de depart de jeu (en timestamp)
exemple 1 000 000
quand l'internaute arrive sur la page on recupere l'heure du serveur
exemple 1 010 000

on soustrait 1 010 000 - 1 000 000 soit 10 000
on le divise par notre temps de jeu (ici 29 minute soit 1740 seconde)
10 000 / 1740 = 5.7 (environ)
on recupere le 0.7 qu'on multiplit par 29 soit environ 20minute

ce qui nous donne au total 29-20 = 9 donc 9 minute restante

sa evite de creer un fichier par IP

Qu'est ce que tu en pense ?
L0rD...
Messages postés
316
Date d'inscription
vendredi 23 mai 2003
Statut
Membre
Dernière intervention
19 septembre 2012

Oui c'est faisable facilement.
tu chopes le temps, (le nb de millisecondes écoulées depuis 19chépucombien) : ça le départ du chrono. (a stoquer dans fichier ou bdd)
Tu fais le decremente avec un setInterval par exemple. Une fois le chrono démarré, il te faut stoquer une variable qui dira par exemple chrono=0 ou chrono=1 suivant si le chrono est arreter ou démarré. (ou un cookie)
Et lors du reload tu interroges la-dite variable pour savoir ce qu'il en ai du chrono. Si chrono=0 il demarre, tu stockes le départ et chrono=1, si chrono=1, tu affiches le temps restant.

Attention, si plusieurs utilisateurs peuvent etre connectés en meme temps il te faut autant de chrono que d'IP (si je puis dire) et donc autant de "date" de départ.
Le php me parait inévitable, je te conseille de faire le max de calcul en php.

Essai d'aller dans ce sens, si vraiment tu y arrives pas (mais cherche stp), je veux bien prendre qques minutes pour te faires une source. (faudra alors que tu me dises si c'est multi-user)

KiNgCoBrA
Messages postés
507
Date d'inscription
mardi 18 février 2003
Statut
Membre
Dernière intervention
22 juin 2012
2
C'est multi-user biensur
sa ma l'air hard ton truc j'avais pas imaginer si dur que sa
ton aide me serait d'une grande importance

D'avance merci

L0rD...
Messages postés
316
Date d'inscription
vendredi 23 mai 2003
Statut
Membre
Dernière intervention
19 septembre 2012

salut, si tu attends toujours une soluce, je te fais ça dans le week end. dis moi si c'est toujours ok.

KiNgCoBrA
Messages postés
507
Date d'inscription
mardi 18 février 2003
Statut
Membre
Dernière intervention
22 juin 2012
2
oui j'attend toujours une aide j'éssaie de chercher ailleur mais sans success

L0rD...
Messages postés
316
Date d'inscription
vendredi 23 mai 2003
Statut
Membre
Dernière intervention
19 septembre 2012

Peut etre qu'on s'est pas compris sur un point : y'a t il un chrono pour plusieur utilisateur, ou un chrono pour chacun ?

Mon programme permet les 2 aisément, tu remplaces la construction de nom de fichier par un noms unique, genre "chrono.txt" si tu souhaite qu'il y'ait un chrono pour tous les utilisateurs.

En ce qui concerne ta méthode, je vois pas ce que t'a voulu faire.
Suivant ton raisonnement il s'est écoulé 10000 secondes, ce qui fait en realié 10000/60=166 minutes et des brouettes.
La seule chose que peut éventuellement te donner ta division est un facteur qui s'il est superieur ( ou = ) à 1 te dis que le chrono est terminé.

selon ton raisonnement quand l'internaute arrive sur la page il reste 9 minutes.
Selon le mien le chrono est fini depuis 166-29 = 137 minutes

De plus si il y'a bien un chrono par user, en aucun cas tu peux supprimer la création d'un fichier par ip.
En revanche tu peux tres facilement adapter à une base de donnée.

KiNgCoBrA
Messages postés
507
Date d'inscription
mardi 18 février 2003
Statut
Membre
Dernière intervention
22 juin 2012
2
oui j'ai oublier de presisez un petit truc en effet
pour repondre a ta premier question c un chronos GLOBAL pour TOUS les internaute
et pour repondre a ta 2eme interogation
en faite tous les 29minute quelque chose s'affiche pendant 1 minute
puis sa recommence
29minute
1minute
29minute
1minute
etc... c'est pas un chronos qui va servir une fois mais a vie...
D'ou ma division etc..

Maintenant ma tu compris ? et avec ces nouvelle information est ce que mon raisonement du dessus te semble correct ?
D'avance merci pour ton aide

L0rD...
Messages postés
316
Date d'inscription
vendredi 23 mai 2003
Statut
Membre
Dernière intervention
19 septembre 2012

OK cette fois tout a fait d'accord. cela te donne bien une boucle.
Maintenant si tu stoques le départ dans un fichier ou même dans flash (en timestamp)  tu peux alors  tout faire  en flash facilement.
Si en revanche ce départ doit pouvoir être modifier dynamiquement, php est obligatoire.

KiNgCoBrA
Messages postés
507
Date d'inscription
mardi 18 février 2003
Statut
Membre
Dernière intervention
22 juin 2012
2
oui je pense passer avec flash pour parametrer le temp d'attente (ici 29 minute) et le temp d'affichage (ici 1 minute)

en tout cas merci pour ton exemple qui me servira j'en suis sur et pour ton temps accordé

Bonne journée
J'accepte la réponse sujet clo

L0rD...