duree et temps

duree et temps - PHP - Programmation

Marsh Posté le 20-02-2004 à 23:10:17    

Bonsoir tout le monde
 
Je suis entrain de faire un site, enfin plutôt un jeu, dont le but et d'acheter un pot, tu terreau etc... et de faire pousser des plantes, la personne dispose d'une somme d'argent limité auquel elle doit bien dépenser pour l'achat du matériel et des plantes.
 
ca c'est déjà fait, la plante doit pousser, quand elle a  
planter les graines, seulement voici le probleme :  
 
La personne clique sur un lien pour planter, c'est automatique, une date s'enregistre dans la table de l'utilisateur, ensuite, selon la temperature, l'éclairage, l'eau, et le terreau (dose de tout ca), la plante pousse plus vite, mais surtout, j'aimerai que la date s'affiche pour savoir  depuis combien de temps elles ont étaient plantés et de combien de centimétres elles ont poussées, et ca je ne voit pas du tout comment faire
 
Donc si des personnes peuvent m'aider pour faire ceci, je leurs seraient très reconnaissant !
 
Merci


Message édité par fcb_balthasar le 20-02-2004 à 23:12:06
Reply

Marsh Posté le 20-02-2004 à 23:10:17   

Reply

Marsh Posté le 20-02-2004 à 23:15:50    

depuis combien de temps = date d'aujourd'hui - date de plantation :heink:

Reply

Marsh Posté le 20-02-2004 à 23:16:32    

Et sinon c'est quoi comme genre de plantes ? :D

Reply

Marsh Posté le 20-02-2004 à 23:20:11    

pour les plantes, sincérement c'est des plantes de cannabis :D
 
Sinon, pour la durée  je suis d'accord, mais pour les centimetres je fait comment ? :D car c'est ca que je n'arrive pas a coordonnée :/
 
il faut que je le fasse en fonction de la date de plantation, mais je ne voit pas du tout comment faire, ni les scripts et fonctions a utiliser...
et en même temps, les coordonner avec la temperature etc... (mais ca encore c pas très grave pour l'instant)

Reply

Marsh Posté le 20-02-2004 à 23:23:54    

fcb_balthasar a écrit :

pour les plantes, sincérement c'est des plantes de cannabis :D
 

Comment je m'en serait trop pas douté [:heink]

Reply

Marsh Posté le 20-02-2004 à 23:24:19    

fcb_balthasar a écrit :

pour les plantes, sincérement c'est des plantes de cannabis :D
 
Sinon, pour la durée  je suis d'accord, mais pour les centimetres je fait comment ? :D car c'est ca que je n'arrive pas a coordonnée :/
 
il faut que je le fasse en fonction de la date de plantation, mais je ne voit pas du tout comment faire, ni les scripts et fonctions a utiliser...
et en même temps, les coordonner avec la temperature etc... (mais ca encore c pas très grave pour l'instant)

Ben pour les centimetres, a toi de faire ton algo en fonction des parametres :heink:

Reply

Marsh Posté le 20-02-2004 à 23:27:43    

skylight a écrit :

Ben pour les centimetres, a toi de faire ton algo en fonction des parametres :heink:

c'est bien ce que je douté, il n'y aurai pas un site qui pourrait expliquer tout ca en détails ? car je ne voit pas du tout comment faire, j'ai chercher pendant des heures et je n'ai pas put trouver, le temps et durée n'est pas mon fort, je n'arrive jamais a controler ca :/

Reply

Marsh Posté le 20-02-2004 à 23:30:01    

Je suppose que t'as une base de données...
 
Ben a toi de faire une table avec pour chaque ligne, la date, temperature, eclairage, eau, et taille de la date précedente..
tous tes parametres, tu peux les generer avec un random (a configurer aux ognions comme tu veux) et puis tu genere une grandeur assez petite grace a tes parametres, que tu rajoute a la taille precedente ..
 
apres, libre a toi

Reply

Marsh Posté le 20-02-2004 à 23:38:02    

skylight a écrit :

Je suppose que t'as une base de données...
 
Ben a toi de faire une table avec pour chaque ligne, la date, temperature, eclairage, eau, et taille de la date précedente..
tous tes parametres, tu peux les generer avec un random (a configurer aux ognions comme tu veux) et puis tu genere une grandeur assez petite grace a tes parametres, que tu rajoute a la taille precedente ..
 
apres, libre a toi

une seule table avec plusieurs champs ou plusieurs tables ?
 
car pour l'instant, j'ai fait une table user, avec pseudo, passe, temperature, eclairage, date de plantation, dose d'eau, dose de terreau, donc ensuite, il suffit que je fasse pour que quand la personne rentre sur la page afin de vérifier la taille de la plante, ca modifie les centimetres en fontion de la date de plantation, pour l'instant, je pense que c'est bon, mais a toi de me confirmer si c'est une bonne facon, ou de faire comme tu me le conseille

Reply

Marsh Posté le 20-02-2004 à 23:46:05    

tes parametres sont donc fixes ? (cad eclairage, eau, terreau fixe pour toute la vie d'une plante)
ben oui, une seule table avec date et taille ...

Reply

Marsh Posté le 20-02-2004 à 23:46:05   

Reply

Marsh Posté le 20-02-2004 à 23:55:16    

skylight a écrit :

tes parametres sont donc fixes ? (cad eclairage, eau, terreau fixe pour toute la vie d'une plante)
ben oui, une seule table avec date et taille ...

fixe, si tu veut dire :  
 
enfin de compte, il y a 6 période : Germination, Croissance, végétative, Floraison, Maturation, Séchage
 
dont 5 sont importante est inclus la lumiére, l'eau etc...
pour les 5, l'eau, le terreau, la lumiére etc... doivent être de facon différente, ca veut dire que par exemple pour la maturation, la lumiére est moins important que pour la période de végétation, donc elle doit changer, ce que l'utilisateur doit faire si il ne veut pas voir ca plante qui pousse moins vite voir mourir définitivement et donc ne sont pas fixe du sens ou tout ca doit changer...
 
mais bon dans l'autre sens elle le restent car elles sont traités dans la même table :/
 
enfin si c'est ca que tu veut savoir :/


Message édité par fcb_balthasar le 20-02-2004 à 23:55:34
Reply

Marsh Posté le 20-02-2004 à 23:56:14    

et ben tu fais comme je t'ai dit au debut ..

Reply

Marsh Posté le 21-02-2004 à 00:07:02    

skylight a écrit :

et ben tu fais comme je t'ai dit au debut ..

ok je vais essayer ca, merci :jap:

Reply

Marsh Posté le 21-02-2004 à 13:28:54    

donc, avec l'aide aussi d'autres personnes et de la tienne, j'ai put faire et avoir ceci :
 
 

// Calcul d'une durée (type pour choisir en minutes ou en jours)
// substr c pour selectionner une partie de la chaine, les arguments // sont substr(chaine,debut,fin), compté en nombre de caractere
function duree($avant,$type) {
// avant est la date au format 0000-00-00 00:00:00 => date("Y-m-d H:i:s" )
// C'est la date qui est enregistré dans la base de données lors de la derniere visite
// ici on prend l'exemple de hier à 20h => 2004-02-18 20:15:00
$a=substr($avant,0,4); // on stocke dans a le nombre des années (0,4 => 2004
$m=substr($avant,5,2);  // $m=02   $j=substr($avant,8,2); // $j=18
$h=substr($avant,11,2); // $h=20
$mi=substr($avant,14,2);  //$mi=15
$se=substr($avant,17,2);  //$se=0
// on vérifie que c bien une date valide pour calculer le temps (donc que il y a au moins une année, un mois et un jour, le reste peut etre égal a 0
if ($a!=0000 and $m!=00 and $j!=00) {
// Convertir tout ça en un nombre entier de seconde (pour aviter de calculer depuis l'an 0 le calcul se fait a parti de 1970)
$timestamp = mktime($h, $mi, $se, $m, $j, $a ); // la fonction time donne la date d'aujourd'hui directement en seconde // (tjs par raport a 1970)
 
$maintenant = time();
// l'écart de seconde entre les deux date : celle enregistré dans la bdd ($avant) et la date d'ajourd'hui
$ecart_secondes = abs($maintenant - $timestamp);
// une fois l'écart en seconde un calcul pour convertir en minutes, ou en jour (un jour = 86400 secondes ;)
if ($type=="m" ) { $duree=floor($ecart_secondes/60); }
if ($type=="j" ) { $duree=floor($ecart_secondes/86400); }
} else {  $duree=0; }
return $duree;
}
 ta table est un peu comme ça
 
|--------|--------|----------------------|
| Pseudo | taille |        date          |
|--------|--------|----------------------|
| Murat  |  15    | 2004-02-18 20:15:00  |
|--------|--------|----------------------|
 
les accès bd pour récupérer les variables et ensuite pour faire grandir :
 
// $date est la date qu'il faut récuperer dans la base de donnée, "m" signifie que le résultat de la fonction duree en minutes
$temps_ecoule=duree($date,"m" );
// $taille est la taille récuperer dans la base de données, l'incrémenter de (2*$temps_ecoule)
// la plante pousse de 2 cm par minute, // donc fo sans doute revoir le calcul, 0.01 serait serai mieux :D
$taille+=2*$temps_ecoule;
 
echo 'Votre plante fait maintenant '.$taille.' cm';


 
mais bon, je n'arrive pas du tout a faire un script complet pour avoir un code  
bien fait, donc si quelqu'un peut m'aider a faire un script complet avec les indications en haut, je lui serai très reconnaissant, car malgré ca, je n'y arrive pas du tout :/ j'y ai passer la nuit mais je n'y arrive pas du tout  :(  
 
Merci a ceux qui peuvent m'aider :jap:

Reply

Sujets relatifs:

Leave a Replay

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