HB/pages/ressourcetem.php

201 lines
7.7 KiB
PHP
Raw Normal View History

2007-11-05 11:00:00 +00:00
<?php
$id=$_SESSION['id'];
$g=$_SESSION['galaxy'];
$s=$_SESSION['ss'];
$p=$_SESSION['pos'];
$race=$_SESSION['race'];
2007-11-20 11:00:00 +00:00
require_once('../fonctions.php');
2007-11-05 11:00:00 +00:00
require('../connectBDD.php');
require_once 'noms.php';
$appel = mysql_query("SELECT * FROM planete WHERE id_user='$id' AND galaxie='$g' AND ss='$s'AND position='$p' ");
$ressource=mysql_fetch_array($appel);
$mine_m = $ressource['mine_m'];
2007-11-13 11:00:00 +00:00
$coeff_mine_m = $ressource['coeff_mine_m'];
if ($coeff_mine_m < 0) $coeff_mine_m = 0;
if ($coeff_mine_m > 1) $coeff_mine_m = 1;
2007-11-05 11:00:00 +00:00
$mine_c = $ressource['mine_c'];
2007-11-13 11:00:00 +00:00
$coeff_mine_c = $ressource['coeff_mine_c'];
if ($coeff_mine_c < 0) $coeff_mine_c = 0;
if ($coeff_mine_c > 1) $coeff_mine_c = 1;
2007-11-05 11:00:00 +00:00
$mine_h = $ressource['mine_h'];
2007-11-13 11:00:00 +00:00
$coeff_mine_h = $ressource['coeff_mine_h'];
if ($coeff_mine_h < 0) $coeff_mine_h = 0;
if ($coeff_mine_h > 1) $coeff_mine_h = 1;
2007-11-05 11:00:00 +00:00
$centrale_s = $ressource['centrale_s'];
2007-11-13 11:00:00 +00:00
$coeff_centrale_s = $ressource['coeff_centrale_s'];
if ($coeff_centrale_s < 0) $coeff_centrale_s = 0;
if ($coeff_centrale_s > 1) $coeff_centrale_s = 1;
2007-11-05 11:00:00 +00:00
$centrale_f = $ressource['centrale_f'];
2007-11-13 11:00:00 +00:00
$coeff_centrale_f = $ressource['coeff_centrale_f'];
$coeff_energie_f = $ressource['coeff_centrale_f'];
if ($coeff_centrale_f < 0) $coeff_centrale_f = 0;
if ($coeff_centrale_f > 1) $coeff_centrale_f = 1;
if ($coeff_energie_f < 0) $coeff_energie_f = 0;
if ($coeff_energie_f > 1) $coeff_energie_f = 1;
2007-11-05 11:00:00 +00:00
$temps_actuel = time();
$temps_ancien = $ressource['timestamp'];
$temps_ecoule = $temps_actuel - $temps_ancien;
$cap = (pow(2,$ressource['silo'])*100000);
$metal = $ressource['metal'];
$cristal = $ressource['cristal'];
$hydrogene = $ressource['hydrogene'];
//---------------Productions--------
if ($mine_m > 0) $energie_m = ceil((exp($mine_m*0.28)*10)); else $energie_m= 0;
if ($mine_c > 0) $energie_c = ceil((exp($mine_c*0.28)*10)); else $energie_c= 0;
if ($mine_h > 0) $energie_h = ceil((exp($mine_h*0.31)*10)); else $energie_h= 0;
2007-11-13 11:00:00 +00:00
if ($centrale_f > 0) $energie_f = ceil((($centrale_f*80+(exp($centrale_f*0.38)*11)))); else $energie_f = 0;
if ($centrale_s > 0) $energie_s = ceil((($centrale_s*20+(exp($centrale_s*0.3)*10)))); else $energie_s = 0;
2007-11-05 11:00:00 +00:00
2007-11-20 11:00:00 +00:00
//Calcul de la consomation d'<27>nergie
2007-11-13 11:00:00 +00:00
$nrj = $energie_m + $energie_c + $energie_h;
2007-11-05 11:00:00 +00:00
2007-11-20 11:00:00 +00:00
//Calcul de la production d'<27>nergie
2007-11-13 11:00:00 +00:00
$t = $energie_s * $coeff_centrale_s + $energie_f * $coeff_centrale_f;
2007-11-05 11:00:00 +00:00
2007-11-13 11:00:00 +00:00
$coeff = $t / $nrj;
2007-11-05 11:00:00 +00:00
2007-11-20 11:00:00 +00:00
if ($coeff < 0) $coeff = 0;
2007-11-13 11:00:00 +00:00
elseif ($coeff == 0) $coeff = 0;
elseif ($coeff > 1) $coeff = 1;
2007-11-05 11:00:00 +00:00
2007-11-13 11:00:00 +00:00
//Calcul des proportions
$point = $coeff * 3;
2007-11-05 11:00:00 +00:00
2007-11-13 11:00:00 +00:00
if ($coeff_mine_m + $coeff_mine_c + $coeff_mine_h != 0) {
$p_mine_m = $coeff_mine_m / ($coeff_mine_m + $coeff_mine_c + $coeff_mine_h);
$p_mine_c = $coeff_mine_c / ($coeff_mine_m + $coeff_mine_c + $coeff_mine_h);
$p_mine_h = $coeff_mine_h / ($coeff_mine_m + $coeff_mine_c + $coeff_mine_h);
}
2007-11-05 11:00:00 +00:00
else {
2007-11-13 11:00:00 +00:00
$p_mine_m = 0.33333333;
$p_mine_c = 0.33333333;
$p_mine_h = 0.33333333;
2007-11-05 11:00:00 +00:00
}
2007-11-13 11:00:00 +00:00
$Ncoeff_mine_m = $point * $p_mine_m;
$Ncoeff_mine_c = $point * $p_mine_c;
$Ncoeff_mine_h = $point * $p_mine_h;
if ($Ncoeff_mine_m > 1) $Ncoeff_mine_m = 1;
if ($Ncoeff_mine_c > 1) $Ncoeff_mine_c = 1;
if ($Ncoeff_mine_h > 1) $Ncoeff_mine_h = 1;
//if ($Ncoeff_mine_m < $coeff_mine_m) {
mysql_query("UPDATE planete SET coeff_mine_m='$Ncoeff_mine_m' WHERE id_user='$id' AND galaxie='$g' AND ss='$s'AND position='$p'");
$coeff_mine_m = $Ncoeff_mine_m;
//}
//if ($Ncoeff_mine_c < $coeff_mine_c) {
mysql_query("UPDATE planete SET coeff_mine_c='$Ncoeff_mine_c' WHERE id_user='$id' AND galaxie='$g' AND ss='$s'AND position='$p'");
$coeff_mine_c = $Ncoeff_mine_c;
//}
//if ($Ncoeff_mine_h < $coeff_mine_h) {
mysql_query("UPDATE planete SET coeff_mine_h='$Ncoeff_mine_h' WHERE id_user='$id' AND galaxie='$g' AND ss='$s'AND position='$p'");
$coeff_mine_h = $Ncoeff_mine_h;
//}
if ($metal >= $cap) {
$prod_met=0;
$metal = $cap;
}
2007-11-05 11:00:00 +00:00
else {
2007-11-13 11:00:00 +00:00
if ($mine_m < 0) $prod_met = 0.011*$temps_ecoule;
else $prod_met = ((ceil(((($mine_m*32)+(pow(1.41,$mine_m)*exp(0.066*$mine_m)))/0.36)*$temps_ecoule)/10000)*3.7 + 0.011*$temps_ecoule)*$coeff_mine_m;
2007-11-05 11:00:00 +00:00
}
2007-11-13 11:00:00 +00:00
if ($cristal >= $cap) {
$prod_cri=0;
$cristal = $cap;
}
2007-11-05 11:00:00 +00:00
else {
2007-11-13 11:00:00 +00:00
if ($mine_c < 0) $prod_cri = 0.0055*$temps_ecoule;
else $prod_cri = (((ceil(((($mine_c*13)+(pow(1.36,$mine_c)*exp(0.0675*$mine_c)))/0.36)*$temps_ecoule)/10000)*7) + 0.0055*$temps_ecoule)*$coeff_mine_c;
}
2007-11-05 11:00:00 +00:00
2007-11-13 11:00:00 +00:00
if ($hydrogene >= $cap) {
$prod_hy=0;
$hydrogene = $cap;
}
else {
2007-11-05 11:00:00 +00:00
if ($mine_h < 0) $prod_hy = 0;
2007-11-13 11:00:00 +00:00
else $prod_hy = ((((floor(((($mine_h*12)+(pow(1.394,$mine_h)*exp(0.072*$mine_h)))/0.36)*$temps_ecoule)/10000)*5)) - $conso_h)*$coeff_mine_h;
2007-11-05 11:00:00 +00:00
if ($mine_h == 0) $prod_hy=0;
if ($prod_hy < 0) $prod_hy = 0;
}
2007-11-13 11:00:00 +00:00
if ($centrale_f > 0) $conso_h = ((ceil((($centrale_f*5+(exp($centrale_f*0.3)*10)))/0.36)/10000)*$temps_ecoule)*$coeff_energie_f;
else $conso_h = 0;
$prod_mineh = $prod_hy;
$prod_hysv = $prod_hy;
$prod_hy -= $conso_h;
if ($hydrogene+$prod_hy < 0) {
$prod_hy = $prod_hysv;
$conso_h = 0;
$coeff_energie_f = 0;
}
elseif ((ceil((($centrale_f*5+(exp($centrale_f*0.3)*10)))/0.36)/10000)*3600 <= $hydrogene/5 && $coeff_energie_f == 0) {
$coeff_energie_f = 1;
}
2007-11-05 11:00:00 +00:00
$a=$metal+$prod_met;
$b=$cristal+$prod_cri;
$c=$hydrogene+$prod_hy;
2007-11-13 11:00:00 +00:00
$u = ($energie_s*$coeff_energie_s+$energie_f*$coeff_energie_f);
2007-11-05 11:00:00 +00:00
//---------------M.A.J--------------
2007-11-13 11:00:00 +00:00
mysql_query("UPDATE planete SET timestamp='$temps_actuel', metal='$a', cristal='$b', hydrogene='$c', coeff='$coeff', energie='$t', coeff_centrale_f='$coeff_energie_f' WHERE id_user='$id' AND galaxie='$g' AND ss='$s'AND position='$p'");
2007-11-05 11:00:00 +00:00
$pseudoz = $ressource['pseudo'];
$req = mysql_query("SELECT id, galaxie, ss, position, nom_planete FROM planete WHERE id_user='$id'");
2007-11-20 11:00:00 +00:00
$reqIsol = mysql_query("SELECT id FROM planete WHERE id_user='$id' AND isolement != '0'");
2007-11-05 11:00:00 +00:00
$RES_IMAGE = $image;
$Aplan_ref = ''; $Aplan_value = ''; $Aplan_more = '';
2007-11-20 11:00:00 +00:00
for ($i=0; $i < mysql_num_rows($req); $i++) {
$x = mysql_query("SELECT * FROM planete WHERE id_user='$id' ORDER BY id DESC LIMIT $i,1");
2007-11-05 11:00:00 +00:00
$d = mysql_fetch_array($x);
2007-11-20 11:00:00 +00:00
if ($d['isolement'] != 0 && $d['isolement']+(mysql_num_rows($req)-10)*7200 <= time()) {
$Aplan_value .= $d['id'].' ';
if ($d['galaxie'] == $_SESSION['galaxy'] && $d['ss'] == $_SESSION['ss'] && $d['position'] == $_SESSION['pos']) $Aplan_more .= ' selected="selected";';
else $Aplan_more .= ';';
$Aplan_ref .= $d['nom_planete'].' ['.$d['galaxie'].':'.$d['ss'].':'.$d['position'].'];';
$nextIsol = $d['isolement'] + (mysql_num_rows($req)-10)*7200 + rand(83000,170000);
mysql_query("UPDATE planete SET isolement='$nextIsol' WHERE id_user='$id' AND galaxie='".$d['galaxie']."' AND ss='".$d['ss']."'AND position='".$d['position']."'");
}
elseif ($d['isolement']+(mysql_num_rows($req)-10)*7200 < time() || $d['isolement'] == 0) {
$Aplan_value .= $d['id'].' ';
if ($d['galaxie'] == $_SESSION['galaxy'] && $d['ss'] == $_SESSION['ss'] && $d['position'] == $_SESSION['pos']) $Aplan_more .= ' selected="selected";';
else $Aplan_more .= ';';
$Aplan_ref .= $d['nom_planete'].' ['.$d['galaxie'].':'.$d['ss'].':'.$d['position'].'];';
}
elseif ($d['galaxie'] == $_SESSION['galaxy'] && $d['ss'] == $_SESSION['ss'] && $d['position'] == $_SESSION['pos']) {
$time = time();
mysql_query("UPDATE planete SET isolement='$time' WHERE id_user='$id' AND galaxie='".$d['galaxie']."' AND ss='".$d['ss']."'AND position='".$d['position']."'");
}
2007-11-05 11:00:00 +00:00
}
$Aplan_value = split(' ',trim($Aplan_value));
2007-11-20 11:00:00 +00:00
$Aplan_more = split(';',trim($Aplan_more));
2007-11-05 11:00:00 +00:00
$Aplan_ref = split(';',trim($Aplan_ref));
$NOM_METAL = $ressourc[0];
$NOM_CRISTAL = $ressourc[1];
$NOM_HYDROGENE = $ressourc[2];
$NOM_ENERGIE = $ressourc[3];
2007-11-20 11:00:00 +00:00
$RES_METAL = separerNombres(floor($a));
$RES_CRISTAL = separerNombres(floor($b));
$RES_HYDROGENE = separerNombres(floor($c));
2007-11-13 11:00:00 +00:00
// $RES_ENERGIE = separerNombres(intval($t-$nrj)).'/'.separerNombres($t);
$RES_ENERGIE = separerNombres(intval($nrj)).'/'.separerNombres($u);
2007-11-05 11:00:00 +00:00
mysql_close();
?>