JeuWeb - Crée ton jeu par navigateur
pb gestion ressources - 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 : pb gestion ressources (/showthread.php?tid=233)

Pages : 1 2 3


pb gestion ressources - max - 20-09-2006

bonjour, j'ai un script pour la création de batiment avec un compte a rebour, augmentation de niveaux et tout
mais maintenant vient le moment de créer un script pour la création de ressources.... c'est deja + dur!

j'arrive facilement a créer des resoures pour un niveau de base (c'est a dire 1) fesant le timestamp actuel - le timestamp du moment ou le joueur a créé un compte (a partir de la on peur faire ce qu'on veut comme calcul divers et varié)
le problème vient de l'augmentation des ressources en fonction du niveau du batiment. parce que lorqu'on fait "les ressources * le niveau du batiment" et bien lorque le batiment passe au niveau 2, les ressources sont multipliés elles aussi par 2 ce qui n'est pas le but recherché! a partir de la je bloque....
voila un bout de script qui vous aidera peut etre a comprendre, je peut aussi metre le script entier mais dans ce cas je préfère l'envoyer par MP a ceux qui le veulent

voila le petit boutSadca devrai sufire je pense)

Code PHP :
<?php 
$requete
= mysql_query("SELECT temps_inscription,temps_batiment,niveau,niveau_up,metal FROM table_batiment where batiment='mine' and `pseudo`='$pseudo_membre' ") or die (mysql_error());
$sql = mysql_fetch_array ($requete);
$temps_inscription = $sql['temps_inscription'];
$temps_batiment = $sql['temps_batiment'];
$Tpsrestant =$temps_batiment-mktime();
$niveau = $sql['niveau'];
$niveau_up = $sql['niveau_up'];
$dure=((pow($niveau,3)) + $niveau + 180)/2;
$durer= ((pow($niveau,3)) + $niveau + 180+$dure);// temps de construction du batiment
$durer_total= gmdate('H \h i \m\i\n s',$durer);// ecriture du temps de construction

//*********************************ressources****************************

$prod_metal =$sql['metal'];// metal en fonction du timestamp
$temps_prod=mktime()- $temps_inscription ;// temps écoulé depuis l'enregistrement du joueur
$metal= floor(($temps_prod)/36); // ressources en métal
$vrai_metal = floor(((mktime()- $temps_inscription)/36)*(pow($niveau,2)))+ $prod_metal;

echo
'metal:'.$vrai_metal;
echo
"</br>";
mysql_query("UPDATE table_batiment Set metal='$metal' where batiment='mine' and `pseudo`='$pseudo_membre'") or die (mysql_error());


voila voila.... merci d'avance Wink


RE: pb gestion ressources - Globe - 20-09-2006

Hum :

Code PHP :
<?php 
Code PHP
:
$requete = mysql_query("SELECT temps_inscription,temps_batiment,niveau,niveau_up,metal FROM table_batiment where batiment='mine' AND pseudo='$pseudo_membre' ") or die (mysql_error());
$sql = mysql_fetch_array ($requete);
$temps_inscription = $sql['temps_inscription'];
$temps_batiment = $sql['temps_batiment'];
$Tpsrestant =$temps_batiment-mktime();
$niveau = $sql['niveau'];
$niveau_up = $sql['niveau_up'];
$dure=((pow($niveau,3)) + $niveau + 180)/2;
$durer= ((pow($niveau,3)) + $niveau + 180+$dure);// temps de construction du batiment
$durer_total= gmdate('H \h i \m\i\n s',$durer);// ecriture du temps de construction

//*********************************ressources****************************

$prod_metal =$sql['metal'];// metal en fonction du timestamp
$temps_prod=mktime()- $temps_inscription ;// temps écoulé depuis l'enregistrement du joueur
$metal= floor(($temps_prod)/36); // ressources en métal
$vrai_metal = floor(((mktime()- $temps_inscription)/36)*(pow($niveau,2)))+ $prod_metal;

echo
'metal:'.$vrai_metal.'';
echo
"</br>";
mysql_query("UPDATE table_batiment Set metal='$metal' where batiment='mine' and pseudo='$pseudo_membre'") or die (mysql_error());



RE: pb gestion ressources - max - 21-09-2006

heuuuu t'a changé quoi globe?


RE: pb gestion ressources - Globe - 21-09-2006

Code PHP :
<?php 
$requete
= mysql_query("SELECT temps_inscription,temps_batiment,niveau,niveau_up,metal FROM table_batiment where batiment='mine' AND pseudo='$pseudo_membre' ") or die (mysql_error());

Pas de guillements autour de pseudo.


RE: pb gestion ressources - max - 21-09-2006

ha oui mais c'était pas ca que je parlait au départ
je veu pour commencer essayer de faire "comme ogame" au niveau des ressources
donc au niveau 1 on gagne 10/h, au niveau 2 on gagne 20.... tu voi?
mais avec se code ca ne marche pas ca fait un truc bizard


RE: pb gestion ressources - max - 21-09-2006

personne voit ou j'ai mal expliqué mon problème?
j'avou que c'est compliqué...


RE: pb gestion ressources - gtsoul - 21-09-2006

c'est un problème de code ou de calcul proprement dit ?
ton code marche ?


RE: pb gestion ressources - karnatos - 21-09-2006

Son code marche mais c'est une fonction bien mathématique qu'il lui faut.

Il faut savoir de combien veut-tu que ca monte par niveau si c'est plutôt du style racine carré ou au contraire exponentiel.

A savoir si en fonction du niveau les batiments coutent plus cher ou autant.

bref tout plein de paramètres pour faire une fonction idéale.


RE: pb gestion ressources - max - 21-09-2006

karnatos a raison
juste pour tester on va dire que ca monte de (niveau*2) pour chaque niveau (après le calcul avec racine carrée ou autre c'est facile et je l'ai deja fait pour le compte a rebour de construction du batiement)
et pour le cout des batiments je pense pouvoir le faire seul, c'est simple et je ne veut surtout pas en demander trop!
si vous avez une idée ca m'interesse ^^
re-merci d'avance


RE: pb gestion ressources - Globe - 21-09-2006

Deux solutions, une fonction...
Ou bien faire plus simple, une hausse selon le niveau en appliquant une formule de pourcentages...

Genre à chaque niveau de batiment tu augmente la production, le prix et le temps de production de 10% grâce à une variable...