2007-10-27 10:00:00 +00:00
< ? php
session_start ();
$id = $_SESSION [ 'id' ];
$galaxy = $_SESSION [ 'galaxy' ];
$ss = $_SESSION [ 'ss' ];
$pos = $_SESSION [ 'pos' ];
2007-11-20 11:00:00 +00:00
$_SESSION [ 'dernPage' ] = 'ressources.php' ;
2007-11-13 11:00:00 +00:00
require_once 'bdd.php' ;
require_once ( '../securite.php' );
require_once 'ressourcetem.php' ;
require_once 'noms.php' ;
require ( '../template.php' );
$template = new Template ( '../templates/' . $templates );
2007-10-27 10:00:00 +00:00
2007-11-13 11:00:00 +00:00
$template -> set_filenames ( array ( 'ressourcestpl' => 'ressources.tpl' ));
$template -> assign_vars ( array ( 'RES_IMAGE' => $RES_IMAGE , 'NOM_METAL' => $NOM_METAL , 'NOM_CRISTAL' => $NOM_CRISTAL , 'NOM_HYDROGENE' => $NOM_HYDROGENE , 'NOM_ENERGIE' => $NOM_ENERGIE , 'RES_METAL' => $RES_METAL , 'RES_CRISTAL' => $RES_CRISTAL , 'RES_HYDROGENE' => $RES_HYDROGENE , 'RES_ENERGIE' => $RES_ENERGIE , 'ERREUR' => $ERREUR , 'HEADER' => $HEADER , 'PUB' => $PUB ));
for ( $i = 0 ; $i < count ( $Aplan_value ) ; $i ++ ) {
$template -> assign_block_vars ( 'planetes' , array ( 'RES_VALUE' => $Aplan_value [ $i ], 'RES_MORE' => $Aplan_more [ $i ], 'RES_REF' => $Aplan_ref [ $i ]));
}
$template -> set_filenames ( array ( 'Tabressources' => 'Tabressources.tpl' ));
$template -> assign_var_from_handle ( 'RESSOURCES' , 'ressourcestpl' );
$template -> assign_vars ( array ( 'PUB' => $PUB ));
2007-11-04 11:00:00 +00:00
2007-10-27 10:00:00 +00:00
$cap = ( pow ( 2 , $silo ) * 100000 );
2007-11-13 11:00:00 +00:00
$temps_ecoule = 3600 ;
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 ;
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-10-27 10:00:00 +00:00
2007-11-13 11:00:00 +00:00
//Calcul de la consomation d'<27> nergie
$nrj = $energie_m + $energie_c + $energie_h ;
2007-10-27 10:00:00 +00:00
2007-11-13 11:00:00 +00:00
//Calcul de la production d'<27> nergie
$t = $energie_s * $coeff_centrale_s + $energie_f * $coeff_centrale_f ;
2007-11-04 11:00:00 +00:00
2007-11-13 11:00:00 +00:00
$coeff = $t / $nrj ;
2007-11-04 11:00:00 +00:00
2007-11-13 11:00:00 +00:00
if ( $coeff < 0 ) $coeff = 0 ;
elseif ( $coeff == 0 ) $coeff = 0 ;
elseif ( $coeff > 1 ) $coeff = 1 ;
2007-11-04 11:00:00 +00:00
2007-11-13 11:00:00 +00:00
//Calcul des proportions
$point = $coeff * 3 ;
2007-11-04 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 );
}
else {
$p_mine_m = 0.33333333 ;
$p_mine_c = 0.33333333 ;
$p_mine_h = 0.33333333 ;
}
2007-10-27 10:00:00 +00:00
2007-11-13 11:00:00 +00:00
if ( $metal >= $cap ) {
$prod_met = 0 ;
$metal = $cap ;
}
else {
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-04 11:00:00 +00:00
2007-11-13 11:00:00 +00:00
if ( $cristal >= $cap ) {
$prod_cri = 0 ;
$cristal = $cap ;
}
else {
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-10-27 10:00:00 +00:00
2007-11-13 11:00:00 +00:00
if ( $hydrogene >= $cap ) {
$prod_hy = 0 ;
$hydrogene = $cap ;
}
else {
if ( $mine_h < 0 ) $prod_hy = 0 ;
2007-11-21 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 ))) * $coeff_mine_h ;
2007-11-13 11:00:00 +00:00
if ( $mine_h == 0 ) $prod_hy = 0 ;
if ( $prod_hy < 0 ) $prod_hy = 0 ;
}
2007-11-04 11:00:00 +00:00
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 ;
2007-10-27 10:00:00 +00:00
2007-11-13 11:00:00 +00:00
if ( $hydrogene + $prod_hy < 0 ) {
$prod_hy = $prod_hysv ;
$conso_h = 0 ;
$coeff_energie_f = 0 ;
2007-10-27 10:00:00 +00:00
}
2007-11-13 11:00:00 +00:00
$a = $metal + $prod_met ;
$b = $cristal + $prod_cri ;
$w = $prod_hy ;
$c = $hydrogene + $prod_hy ;
$u = ( $energie_s * $coeff_energie_s + $energie_f * $coeff_energie_f ) - ( $energie_m + $energie_c + $energie_h );
$energie_f = $energie_f * $coeff_energie_f ;
$template -> assign_block_vars ( 'batiment' , array ( 'NOM' => $batiment [ 0 ], 'NIVEAU' => $mine_m , 'COEFF' => ( floor ( $coeff_mine_m * 1000 ) / 10 ) . '%' , 'CMETAL' => '#00FF00' , 'CCRISTAL' => '#00FF00' , 'CHYDROGENE' => '#00FF00' , 'CENERGIE' => '#FF0000' , 'PMETAL' => separerNombres ( floor ( $prod_met )), 'PCRISTAL' => '' , 'PHYDROGENE' => '' , 'PENERGIE' => '-' . separerNombres ( floor ( abs ( $energie_m )))));
$template -> assign_block_vars ( 'batiment' , array ( 'NOM' => $batiment [ 1 ], 'NIVEAU' => $mine_c , 'COEFF' => ( floor ( $coeff_mine_c * 1000 ) / 10 ) . '%' , 'CMETAL' => '#00FF00' , 'CCRISTAL' => '#00FF00' , 'CHYDROGENE' => '#00FF00' , 'CENERGIE' => '#FF0000' , 'PMETAL' => '' , 'PCRISTAL' => separerNombres ( floor ( $prod_cri )), 'PHYDROGENE' => '' , 'PENERGIE' => '-' . separerNombres ( floor ( abs ( $energie_c )))));
if ( $mine_h > 0 ) $template -> assign_block_vars ( 'batiment' , array ( 'NOM' => $batiment [ 2 ], 'NIVEAU' => $mine_h , 'COEFF' => ( floor ( $coeff_mine_h * 1000 ) / 10 ) . '%' , 'CMETAL' => '#00FF00' , 'CCRISTAL' => '#00FF00' , 'CHYDROGENE' => '#00FF00' , 'CENERGIE' => '#FF0000' , 'PMETAL' => '' , 'PCRISTAL' => '' , 'PHYDROGENE' => separerNombres ( floor ( $prod_mineh )), 'PENERGIE' => '-' . separerNombres ( floor ( abs ( $energie_h )))));
if ( $centrale_s > 0 ) $template -> assign_block_vars ( 'batiment' , array ( 'NOM' => $batiment [ 3 ], 'NIVEAU' => $centrale_s , 'COEFF' => ( $coeff_energie_s * 100 ) . '%' , 'CMETAL' => '#FF0000' , 'CCRISTAL' => '#FF0000' , 'CHYDROGENE' => '#FF0000' , 'CENERGIE' => '#00FF00' , 'PMETAL' => '' , 'PCRISTAL' => '' , 'PHYDROGENE' => '' , 'PENERGIE' => separerNombres ( floor ( abs ( $energie_s )))));
if ( $centrale_f > 0 ) $template -> assign_block_vars ( 'batiment' , array ( 'NOM' => $batiment [ 4 ], 'NIVEAU' => $centrale_f , 'COEFF' => ( $coeff_energie_f * 100 ) . '%' , 'CMETAL' => '#FF0000' , 'CCRISTAL' => '#FF0000' , 'CHYDROGENE' => '#FF0000' , 'CENERGIE' => '#00FF00' , 'PMETAL' => '' , 'PCRISTAL' => '' , 'PHYDROGENE' => separerNombres ( floor ( $conso_h *- 1 )), 'PENERGIE' => floor ( abs ( $energie_f ))));
$template -> assign_block_vars ( 'batiment' , array ( 'NOM' => 'Capacit<69> des d<> p<EFBFBD> ts' , 'NIVEAU' => $silo , 'COEFF' => '' , 'CMETAL' => '#00FF00' , 'CCRISTAL' => '#00FF00' , 'CHYDROGENE' => '#00FF00' , 'CENERGIE' => '#FF0000' , 'PMETAL' => separerNombres ( $cap ), 'PCRISTAL' => separerNombres ( $cap ), 'PHYDROGENE' => separerNombres ( $cap ), 'PENERGIE' => '' ));
if ( $u < 0 && $prod_hy < 0 ) $template -> assign_block_vars ( 'batiment' , array ( 'NOM' => '<b>Total</b>' , 'NIVEAU' => '' , 'COEFF' => '' , 'CMETAL' => '#00FF00' , 'CCRISTAL' => '#00FF00' , 'CHYDROGENE' => '#FF0000' , 'CENERGIE' => '#FF0000' , 'PMETAL' => separerNombres ( floor ( $prod_met )), 'PCRISTAL' => separerNombres ( floor ( $prod_cri )), 'PHYDROGENE' => separerNombres ( floor ( $w )), 'PENERGIE' => floor ( $u )));
elseif ( $prod_hy < 0 ) $template -> assign_block_vars ( 'batiment' , array ( 'NOM' => '<b>Total</b>' , 'NIVEAU' => '' , 'COEFF' => '' , 'CMETAL' => '#00FF00' , 'CCRISTAL' => '#00FF00' , 'CHYDROGENE' => '#FF0000' , 'CENERGIE' => '#00FF00' , 'PMETAL' => separerNombres ( floor ( $prod_met )), 'PCRISTAL' => separerNombres ( floor ( $prod_cri )), 'PHYDROGENE' => separerNombres ( floor ( $w )), 'PENERGIE' => floor ( $u )));
elseif ( $u < 0 ) $template -> assign_block_vars ( 'batiment' , array ( 'NOM' => '<b>Total</b>' , 'NIVEAU' => '' , 'COEFF' => '' , 'CMETAL' => '#00FF00' , 'CCRISTAL' => '#00FF00' , 'CHYDROGENE' => '#00FF00' , 'CENERGIE' => '#FF0000' , 'PMETAL' => separerNombres ( floor ( $prod_met )), 'PCRISTAL' => separerNombres ( floor ( $prod_cri )), 'PHYDROGENE' => separerNombres ( floor ( $w )), 'PENERGIE' => separerNombres ( floor ( $u ))));
else $template -> assign_block_vars ( 'batiment' , array ( 'NOM' => '<b>Total</b>' , 'NIVEAU' => '' , 'COEFF' => '' , 'CMETAL' => '#00FF00' , 'CCRISTAL' => '#00FF00' , 'CHYDROGENE' => '#00FF00' , 'CENERGIE' => '#00FF00' , 'PMETAL' => '<b>' . separerNombres ( floor ( $prod_met )) . '</b>' , 'PCRISTAL' => '<b>' . separerNombres ( floor ( $prod_cri )) . '</b>' , 'PHYDROGENE' => '<b>' . separerNombres ( floor ( $w )) . '</b>' , 'PENERGIE' => '<b>' . separerNombres ( floor ( $u )) . '</b>' ));
$template -> pparse ( 'Tabressources' );
?>