JeuWeb - Crée ton jeu par navigateur
Avis sur un script - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : Avis sur un script (/showthread.php?tid=92)



Avis sur un script - Anamos - 23-08-2006

Bonjour a tous,
Alors je suis actuellement en devellopement d'un jeu en php dans lequel le joueur evolurai dans une autre galaxie.
Pour rendre le jeu plus réalise j'ai essayer de faire un systéme de date different de celui utiliser sur notre chére planete bleu ( Oué sa doit pas etre pareil niveau rotation autour du soleil la bas :hahahaha: )

Voila ce que j'ai reussi à faire pour le moment:
Code PHP :
<?php 
// Seconde terienne depuis l'année 0 HGH: 64754141760
// Valeur d'une seconde HGH: 0.86 Seconde terienne

echo datehgh ();

function
datehgh ()
{
$hghtime['time'] = ( 64754141760 + ( time() ) ) * 0.86;
$hghtime['minute'] = $hghtime['time'] / 100;
$hghtime['heure'] = $hghtime['minute'] / 100;
$hghtime['jour'] = $hghtime['heure'] / 100;
$hghtime['annee'] = $hghtime['jour'] / 100;
$hghtime['ere'] = $hghtime['annee'] / 100;

$hghtime['ere-entier'] = intval ( abs ( $hghtime['ere'] ) );
$hghtime['ere-decimal'] = abs ( $hghtime['ere'] ) - intval (abs ( $hghtime['ere'] ) );

$hghtime['annee-division'] = $hghtime['ere-decimal'] * 100;
$hghtime['annee-entier'] = intval ( abs ( $hghtime['annee-division'] ) );
$hghtime['annee-decimal'] = abs ( $hghtime['annee-division'] ) - intval (abs ( $hghtime['annee-division'] ) );

$hghtime['jour-division'] = $hghtime['annee-decimal'] * 100;
$hghtime['jour-entier'] = intval ( abs ( $hghtime['jour-division'] ) );
$hghtime['jour-decimal'] = abs ( $hghtime['jour-division'] ) - intval (abs ( $hghtime['jour-division'] ) );

$hghtime['heure-division'] = $hghtime['jour-decimal'] * 100;
$hghtime['heure-entier'] = intval ( abs ( $hghtime['heure-division'] ) );
$hghtime['heure-decimal'] = abs ( $hghtime['heure-division'] ) - intval (abs ( $hghtime['heure-division'] ) );

$hghtime['minute-division'] = $hghtime['heure-decimal'] * 100;
$hghtime['minute-entier'] = intval ( abs ( $hghtime['minute-division'] ) );
$hghtime['minute-decimal'] = abs ( $hghtime['minute-division'] ) - intval (abs ( $hghtime['minute-division'] ) );

$hghtime['seconde-division'] = $hghtime['minute-decimal'] * 100;
$hghtime['seconde-entier'] = intval ( abs ( $hghtime['seconde-division'] ) );
$hghtime['seconde-decimal'] = abs ( $hghtime['seconde-division'] ) - intval (abs ( $hghtime['seconde-division'] ) );

return
''. $hghtime['ere-entier'] .' / '. $hghtime['annee-entier'] .' - '. $hghtime['jour-entier'] .' / '. $hghtime['heure-entier'] .'-'. $hghtime['minute-entier'] .'-'. $hghtime['seconde-entier'] .' HGH';
}
A la sortie on obtient une date sous cette forme: Ere / Année-Jour / Heure-Minute-Seconde.

Alors je vient poster ici surtout pour savoir si les calcules de date sont correct ^^ Surtout au niveau de la converssion au debut. Sinon vous pouvez aussi donner votre avis. (h)

Merci


RE: Avis sur un script - tashimitsu - 27-01-2007

Pourquoi vous vous compliquer la vie a ce point? il te suffit de faire cela:
<?php
$jour_a = date(d);
$jour = $jour_a + 13;//par exemple

$mois_a = date(m);
$mois = $mois_a + 16;//par exemple

$annees_a = date(Y);
$annees = $annees_a + 2980;//par exemple
?>

Voila! pourquoi ce compliquer la vie?^^ ++


RE: Avis sur un script - tashimitsu - 27-01-2007

a! et pour laire! t regarde quel mois on est, par exemple:
if($mois <= 5)
{
$aire = "été";
}
if($mois <= 10)
{
$aire = "automne";
}
if($mois <= 12)
{
$aire = "hiver";
}
voila^^, bon c' est un exemple Big Grin ++

A! aussi pour tes heures tu as juste a faire une addition Wink


RE: Avis sur un script - NicoMSEvent - 27-01-2007

il existe une fonction en php qui te retourne le nombre de secondes écoulée depuis le 1er janvier 1970.

Code PHP :
<?php 
$temp
=time();
Sur base de ce nombre de secondes, tu pourrais faire quelque chose du genre...

Pour faire s'écouler le temps plus vite (0,86 fois plus vite)

Code PHP :
<?php 
$temp
*=1.86;

pour rajouter mille an a ta date :
Code PHP :
<?php 
$temp
+=60*60*24*365*1000;

etc...
Par contre, si tu veux des journées de 22h, je n'ai pas de solution tout faite Wink

EDIT : j'oubliais, si tu veux afficher ta date pour qu'elle soit lisible pour tout le monde :
Code PHP :
<?php 
echo date('d m Y H:i',$temp);
Sources :
http://www.phptools4u.com/site/2002/06/09/98-gestion-des-dates-en-php
et
http://phpcodeur.net/articles/php/dates


RE: Avis sur un script - Plume - 27-01-2007

Le truc, les gars, c'est que vous considérez que la mesure du temps est la même avec juste un décalage de xxxx secondes.


RE: Avis sur un script - Raoull - 27-01-2007

Ta fonction, à vue d'oeil, à l'air pas mal, mais ca a l'air de nous donner des idées Smile

Le top serait de faire une classe dans laquelle on pourrait spécifier la durée d'une journée, le nb de journée dans un mois, le nombre de mois dans une année.

Puis en utilisant toujours time() dans ta bdd, pour calculer le temps écoulé dans les actions de tes joueurs, réinventer une fonction "date()" qui calucule le jour, le mois, l'année (heure et mn) en fonction des valeurs qu'on a spécifier au départ.

Un bon ptit challenge, pas si dur que ca Wink