HB/fonctions.php

201 lines
10 KiB
PHP
Raw Normal View History

2007-10-27 10:00:00 +00:00
<?php
2007-11-04 11:00:00 +00:00
function vais_tempsDeplacement($start_galaxie,$start_ss,$start_position,$end_galaxie,$end_ss,$end_position,$vitesse,$coefvitesse = 1,$preparation = 0,$chauffe = 0) {
2007-10-27 10:00:00 +00:00
if ($end_galaxie-$start_galaxie == 0 && $end_ss-$start_ss == 0 && $end_position-$start_position == 0) $temps = 0;
2007-11-04 11:00:00 +00:00
elseif ($end_galaxie-$start_galaxie == 0 && $end_ss-$start_ss == 0 && $chauffe == 0) $temps = $preparation+abs($end_position-$start_position)*$vitesse/12;
elseif ($end_galaxie-$start_galaxie == 0 && $chauffe == 0) $temps = $preparation+abs($end_ss-$start_ss)*$vitesse;
2007-11-05 11:00:00 +00:00
elseif ($chauffe == 0) $temps = $preparation+abs($end_galaxie-$start_galaxie)*$vitesse*300;
2007-11-04 11:00:00 +00:00
elseif ($end_galaxie-$start_galaxie == 0 && $end_ss-$start_ss == 0) $temps = $preparation+abs($end_position-$start_position)*($vitesse*2)/12+$preparation;
/*elseif ($end_galaxie-$start_galaxie == 0 && $end_ss-$start_ss <= $chauffe) $temps = abs($end_ss-$start_ss)*(($vitesse/$chauffe)*($chauffe-abs($end_ss-$start_ss))+$vitesse)+$preparation;
elseif ($end_galaxie-$start_galaxie == 0) $temps = $vitesse*abs($end_ss-$start_ss)+$vitesse*10+$preparation;*/
elseif ($end_galaxie-$start_galaxie == 0) $temps = (abs($end_ss-$start_ss)*(($vitesse/$chauffe)*((abs($chauffe-abs($end_ss-$start_ss))+($chauffe-abs($end_ss-$start_ss)))/2)+$vitesse))+(20-(abs($chauffe-abs($end_ss-$start_ss))+($chauffe-abs($end_ss-$start_ss)))/2)*54+$preparation;
else $temps = (($vitesse/$chauffe)*($chauffe-abs($end_galaxie-$start_galaxie))+$vitesse)*300+108+$preparation;
2007-10-27 10:00:00 +00:00
2007-11-04 11:00:00 +00:00
return $temps/$coefvitesse;
2007-10-27 10:00:00 +00:00
}
2007-11-05 11:00:00 +00:00
function vais_conso($tempsDeplacement,$nbvais = 1){
2007-11-20 11:00:00 +00:00
return intval($tempsDeplacement*$nbvais/20);
2007-10-27 10:00:00 +00:00
}
function vais_tempsArrivee($start_time,$start_galaxie,$start_ss,$start_position,$end_galaxie,$end_ss,$end_position,$vitesse,$chauffe = 0){
return ($start_time+vais_tempsDeplacement($start_galaxie,$start_ss,$start_position,$end_galaxie,$end_ss,$end_position,$vitesse,$chauffe));
}
function combat_maxressources($capacite, $metal, $cristal, $hydrogene){
$metal /= 2;
$cristal /= 2;
$hydrogene /= 2;
if ($metal + $cristal + $hydrogene > $capacite) {
if ($capacite/3 > $metal && $capacite/3 > $cristal && $capacite/3 > $hydrogene) {
}
}
else {
$ressources['metal'] = $metal;
$ressources['cristal'] = $cristal;
$ressources['hydrogene'] = $hydrogene;
}
}
function txtmission($mission){
if ($mission == 0) return 'Stationner';
elseif ($mission == 1) return 'Attaquer';
elseif ($mission == 2) return 'Transporter';
2007-11-04 11:00:00 +00:00
elseif ($mission == 3) return 'Coloniser';
2007-11-05 11:00:00 +00:00
elseif ($mission == 4) return 'Recycler';
2007-11-09 11:00:00 +00:00
elseif ($mission == 5) return 'Espionner';
2007-10-27 10:00:00 +00:00
else return 'Erreur';
}
2007-11-04 11:00:00 +00:00
function trouvNom($id_user){
$req = mysql_query("SELECT pseudo FROM user WHERE `id` = '$id_user'");
$resultat = mysql_fetch_array($req);
return $resultat['pseudo'];
}
2007-11-20 11:00:00 +00:00
2007-11-21 11:00:00 +00:00
function trouvInfo($id_user, $info){
$req = mysql_query("SELECT $info FROM user WHERE `id` = '$id_user'");
$resultat = mysql_fetch_array($req);
return $resultat[$info];
}
2007-11-20 11:00:00 +00:00
function separerNombres($nombre) {
$j=0;
$lgr=strlen($nombre);
$chaine = '';
for($i = $lgr-1; $i >= 0; $i--) {
$chaine .= substr($nombre,$i,1);
$j+=1;
if($j == 3 and $i >0) {
$chaine .= ".";
$j = 0;
}
}
$nombre="";
$lgr=strlen($chaine);
$j=$lgr;
for($i = $lgr+1; $i > 0; $i--) {
$nombre .= substr($chaine,$j,1);
$j -=1;
}
2007-11-21 11:00:00 +00:00
return $nombre;
2007-11-20 11:00:00 +00:00
}
function bbcode($text) {
$text = htmlentities($text);
$text = nl2br($text);
$text = str_replace("[b]", "<b>", $text);
$text = str_replace("[/b]", "</b>", $text);
$text = str_replace("[u]", "<u>", $text);
$text = str_replace("[/u]", "</u>", $text);
$text = str_replace("[i]", "<i>", $text);
$text = str_replace("[/i]", "</i>", $text);
$text = str_replace("[center]", "<center>", $text);
$text = str_replace("[/center]", "</center>", $text);
$text = str_replace(" ", "&nbsp;&nbsp;", $text);
$patterns = array();
$replacements = array();
$patterns[] = "#\[img\](.*?)\[/img\]#si";
$replacements[] = "<img src=\"\\1\" border=\"0\" />";
$patterns[] = "#\[quote=(.*?)\](.*?)\[/quote\]#si";
$replacements[] = "<div class=\"centre\"><table width=\"90%\" border=\"1\" color=\"#C6C6C6\" bgcolor=\"#4D4D4D\" style=\"margin-left: auto; margin-right: auto;\"><tr><td><b><i><font color=\"#C6C6C6\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\\1 <20> dit :</i></b><br><i>\\2 </i></font></td></tr></table></div>";
$patterns[] = "#\[color=(.*?)\](.*?)\[/color\]#si";
$replacements[] = "<font color=\"\\1\">\\2</font>";
$patterns[] = "#\[quote\](.*?)\[/quote\]#si";
$replacements[] = "<div class=\"centre\"><table width=\"90%\" border=\"1\" color=\"#C6C6C6\" bgcolor=\"#4D4D4D\" style=\"margin-left: auto; margin-right: auto;\"><tr><td><i><font color=\"#C6C6C6\">\\1</font></i></td></tr></table></div>";
$patterns[] = "#\[url\]([a-z0-9]+?://){1}([\w\-]+\.([\w\-]+\.)*[\w]+(:[0-9]+)?(/[^ \"\n\r\t<]*)?)\[/url\]#is";
$replacements[] = "<a href=\"\1\2\" target=\"_blank\" class=\"postlink\">\1\2</a>";
$patterns[] = "#\[url\]((www|ftp)\.([\w\-]+\.)*[\w]+(:[0-9]+)?(/[^ \"\n\r\t<]*?)?)\[/url\]#si";
$replacements[] = "<a href=\"http://\\1\" target=\"_blank\" class=\"postlink\">\\1</a>";
$patterns[] = "#\[url=([a-z0-9]+://)([\w\-]+\.([\w\-]+\.)*[\w]+(:[0-9]+)?(/[^ \"\n\r\t<]*?)?)\](.*?)\[/url\]#si";
$replacements[] = "<a href=\"\\1\\2\" target=\"_blank\">\\6</a>";
$patterns[] = "#\[url=(([\w\-]+\.)*?[\w]+(:[0-9]+)?(/[^ \"\n\r\t<]*)?)\](.*?)\[/url\]#si";
$replacements[] = "<a href=\"http://\\1\" target=\"_blank\">\\5</a>";
$patterns[] = "#\[email\]([a-z0-9\-_.]+?@[\w\-]+\.([\w\-\.]+\.)?[\w]+)\[/email\]#si";
$replacements[] = "<a href=\"mailto:\\1\">\\1</A>";
return preg_replace($patterns, $replacements, $text);
}
2007-11-21 11:00:00 +00:00
function CalculPointBatiment($id){
$query = mysql_query("SELECT user.id ,pseudo, ceil( (
(ceil(exp(0.4*(SUM( mine_m ) ))*190)+ceil(exp(0.4*(SUM( mine_m ) ))*90) ) + (ceil(exp(0.43*(SUM( mine_c ) ))*205)+ceil(exp(0.43*(SUM( mine_c ) ))*110)) + (ceil(exp(0.445*(SUM( mine_h ) ))*235)+ceil(exp(0.445*(SUM( mine_h ) ))*150) ) + (ceil(exp(0.442*(SUM( centrale_s ) ))*165)+ceil(exp(0.442*(SUM( centrale_s ) ))*99) ) + ( ceil(pow(1.8,(SUM( centrale_f ) ))*300)+ceil(pow(1.82,(SUM( centrale_f ) ))*230)) + (ceil(pow(2,(SUM( radar)))*750)+ceil(pow(2,(SUM( radar)))*500)+ceil(pow(2,(SUM( radar)))*50)) + (ceil(pow(2,(SUM( labo)))*200)+ceil(pow(2,(SUM( labo)))*150)) + (ceil(pow(2,(SUM(chantier_terrestre)))*520)+ceil(pow(2,(SUM(chantier_terrestre)))*380)) + (ceil(pow(2,(SUM(chantier_spatial)))*600)+ceil(pow(2,(SUM(chantier_spatial)))*450)) + (ceil(pow(2,(SUM(caserne)))*200)+ceil(pow(2,(SUM(caserne)))*100)) + (ceil(pow(2,(SUM(silo)))*400)+ceil(pow(2,(SUM(silo)))*260))+ (ceil(pow(1.7,(SUM(centre_info)))*600)+ceil(pow(1.7,(SUM(centre_info)))*420)+ceil(pow(1.7,(SUM(centre_info)))*100)) )/100000
) AS points_bui
FROM user,planete
WHERE id_user=$id
GROUP BY user.id
ORDER BY points_bui DESC");
$resultat = mysql_fetch_array($query);
return $resultat['points_bui'];
}
function CalculPointRecherche($id){
$query = mysql_query("SELECT user.id ,pseudo, (
SUM( informatique ) + SUM( detection ) + SUM( armement ) + SUM( energie_t ) + SUM( reacteur ) + SUM( reacteur_f ) + SUM( reacteur_ff ) + SUM( medecine ) + SUM( tactique ) + SUM( spartan ) + SUM( blindage )
) AS points_res
FROM user,planete
WHERE id_user=$id
GROUP BY user.id
ORDER BY points_res DESC");
$resultat = mysql_fetch_array($query);
return $resultat['points_res'];
}
function CalculPointflotte($id){
$query = mysql_query("SELECT id_user ,user.pseudo, user.id, (
SUM(soldat1 ) + SUM( soldat2 ) + SUM( soldat3 ) + SUM( soldat4 ) + SUM( sniper ) + SUM( spartam ) + SUM( medecin ) + SUM( ingenieur) + SUM( soldat_lourd ) + SUM( vaisseau_1 ) + SUM( vaisseau_2 ) + SUM( vaisseau_3 ) + SUM( vaisseau_4 ) + SUM(vaisseau_4 ) + SUM(vaisseau_6 ) + SUM( vaisseau_7 ) + SUM( vaisseau_8) + SUM( vaisseau_9 ) + SUM( vaisseau_10 ) + SUM( vaisseau_11 ) + SUM( vaisseau_12 ) + SUM(vais_0 ) + SUM(vais_1 ) + SUM( vais_2 ) + SUM( vais_3) + SUM( vcl_1 ) + SUM( vcl_2 ) + SUM( vcl_3 ) + SUM( vcl_4)
) AS points_flt
FROM user,planete
WHERE id_user=$id
GROUP BY id_user
ORDER BY points_flt DESC");
$resultat = mysql_fetch_array($query);
return $resultat['points_flt'];
}
function CalculPointGene($id){
$query = mysql_query("SELECT user.id ,pseudo, ceil( (
(ceil(exp(0.4*(SUM( mine_m ) ))*190)+ceil(exp(0.4*(SUM( mine_m ) ))*90) ) + (ceil(exp(0.43*(SUM( mine_c ) ))*205)+ceil(exp(0.43*(SUM( mine_c ) ))*110)) + (ceil(exp(0.445*(SUM( mine_h ) ))*235)+ceil(exp(0.445*(SUM( mine_h ) ))*150) ) + (ceil(exp(0.442*(SUM( centrale_s ) ))*165)+ceil(exp(0.442*(SUM( centrale_s ) ))*99) ) + ( ceil(pow(1.8,(SUM( centrale_f ) ))*300)+ceil(pow(1.82,(SUM( centrale_f ) ))*230)) + (ceil(pow(2,(SUM( radar)))*750)+ceil(pow(2,(SUM( radar)))*500)+ceil(pow(2,(SUM( radar)))*50)) + (ceil(pow(2,(SUM( labo)))*200)+ceil(pow(2,(SUM( labo)))*150)) + (ceil(pow(2,(SUM(chantier_terrestre)))*520)+ceil(pow(2,(SUM(chantier_terrestre)))*380)) + (ceil(pow(2,(SUM(chantier_spatial)))*600)+ceil(pow(2,(SUM(chantier_spatial)))*450)) + (ceil(pow(2,(SUM(caserne)))*200)+ceil(pow(2,(SUM(caserne)))*100)) + (ceil(pow(2,(SUM(silo)))*400)+ceil(pow(2,(SUM(silo)))*260))+ (ceil(pow(1.7,(SUM(centre_info)))*600)+ceil(pow(1.7,(SUM(centre_info)))*420)+ceil(pow(1.7,(SUM(centre_info)))*100)) )/100000
) +
(SUM(soldat1 ) + SUM( soldat2 ) + SUM( soldat3 ) + SUM( soldat4 ) + SUM( sniper ) + SUM( spartam ) + SUM( medecin ) + SUM( ingenieur) + SUM( soldat_lourd ) + SUM( vaisseau_1 ) + SUM( vaisseau_2 ) + SUM( vaisseau_3 ) + SUM( vaisseau_4 ) + SUM(vaisseau_4 ) + SUM(vaisseau_6 ) + SUM( vaisseau_7 ) + SUM( vaisseau_8) + SUM( vaisseau_9 ) + SUM( vaisseau_10 ) + SUM( vaisseau_11 ) + SUM( vaisseau_12 ) + SUM(vais_0 ) + SUM(vais_1 ) + SUM( vais_2 ) + SUM( vais_3) + SUM( vcl_1 ) + SUM( vcl_2 ) + SUM( vcl_3 ) + SUM( vcl_4)
) +
(
SUM( informatique ) + SUM( detection ) + SUM( armement ) + SUM( energie_t ) + SUM( reacteur ) + SUM( reacteur_f ) + SUM( reacteur_ff ) + SUM( medecine ) + SUM( tactique ) + SUM( spartan ) + SUM( blindage )
) AS points_pts
FROM user,planete
WHERE id_user=user.id AND planete.id_user=$id
GROUP BY user.id
ORDER BY points_pts DESC");
$resultat = mysql_fetch_array($query);
return $resultat['points_pts'];
}