JeuWeb - Crée ton jeu par navigateur
Gestion des ressources en temps réel [version simple] - 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 : Gestion des ressources en temps réel [version simple] (/showthread.php?tid=351)



Gestion des ressources en temps réel [version simple] - Globe - 22-10-2006

Bonjour à tous, voilà j'ai vu que le code posté par Pascalr posait pas mal de problèmes au niveau de sa difficulté donc voilà je propose une solution alternative surement moins bonne mais certainement plus simple... celà consiste simplement à l'utilisation du time().

Table ressources :
id
metal : contient la quantité de métal du joueur
timestamp : contient le timestamp au dernier affichage de la page
joueur : contient l'id du joueur

Code PHP :
<?
//------------ressources-------------
$appel = mysql_query('SELECT * FROM ressources WHERE joueur="'.$id.'"');
$ressource=mysql_fetch_assoc($appel);
//------------*******************************-------------
Ci-dessus : On récupère les ressources du joueur dans la table ressources grâce à son id.
Code PHP :
<?php 
$temps_actuel
= time();
$temps_ancien = $ressource['timestamp'];
$temps_ecoule = $temps_actuel - $temps_ancien;
//-----------------------------------------
Ci-dessus : La fonction time() renvois le nombre de secondes écoulées depuis le lancement d'unix, ainsi en définissant la différence entre le dernier timestamp que cette page à enregistré et le nouveau on détermine le nombre de secondes écoulées depuis le dernier affichage de la page.
Code PHP :
<?php 
//On va ici dire que l'on possède 10 mines à 1 métal / sec
$mine = 10;
//---------------Productions--------------

$prod_metal = ($mine*1)*$temps_ecoule;
// Si vous souhaitez determiner la valeur par heure : (($mine*10)/3600)*$temps_ecoule; ici chaque mine produit 10 de métal par heure
//-----------------------------------------
Ci-dessus : Chaque mine produit 1 metal par seconde, ainsi on va multiplier le nombre de mines (préalablement divisé par le nombre de secondes en une heure) par le nombre de secondes écoulé
Code PHP :
<?php 
//---------------M.A.J--------------
mysql_query("UPDATE ressources SET metal=metal+$prod_metal, timestamp=$temps_actuel WHERE joueur='$id'");

?>
Ci-dessus : Et on finis simplement par mettre à jour l'entrée de la table ressources du joueur.


RE: Gestion des ressources en temps réel [version simple] - orditeck - 26-10-2006

L'aide pour ce tutoriel ce trouve à cette adresse :
http://www.jeuweb.org/board/showthread.php?tid=549