forked from halo-battle/game
Version 1.0a
This commit is contained in:
parent
e391f66774
commit
6a19363758
908 changed files with 22193 additions and 17408 deletions
|
|
@ -3,6 +3,7 @@
|
|||
* class.combat.php
|
||||
* -------------------
|
||||
* begin : Samedi 26 janvier 2008
|
||||
* update : Samedi 12 mai 2008
|
||||
* email : nemunaire@gmail.com
|
||||
*
|
||||
*
|
||||
|
|
@ -16,43 +17,95 @@ class Combat {
|
|||
var $Ntour = 0;
|
||||
var $ATtactique = 0;
|
||||
var $ENtactique = 0;
|
||||
var $timestamp = 0;
|
||||
var $vaisContenu = 0;
|
||||
var $vaisContenuM = 0;
|
||||
var $vaisContenuC = 0;
|
||||
var $vaisContenuH = 0;
|
||||
|
||||
var $debriM = 0;
|
||||
var $debriC = 0;
|
||||
|
||||
/**
|
||||
* Constructeur
|
||||
* @param array $flotteAT tableau SQL des vaisseaux envoyés par l'attaquant
|
||||
* @param array $flotteEN tableau SQL de la planète du défenseur
|
||||
* @param array $defEN tableau SQL de la planète du défenseur
|
||||
* @param array $flotteAT tableau SQL des vaisseaux envoyés par l'attaquant
|
||||
* @param array $flotteEN tableau SQL de la planète du défenseur
|
||||
* @param array $defEN tableau SQL de la planète du défenseur
|
||||
*
|
||||
* @return void
|
||||
* @access public
|
||||
*/
|
||||
function Combat($flotteAT, $flotteEN, $defEN) {
|
||||
include('includes/vars.php');
|
||||
//Génération des vaisseaux attaquants
|
||||
//Génération des vaisseaux attaquants
|
||||
for ($i=1 ; $i<=12 ; $i++) {
|
||||
if ($flotteAT['vaisseau'.$i] >= 1) {
|
||||
$this->ATvais[] = array($i, $flotteAT['vaisseau'.$i], array(array($nomvais_pv[$i-1], $flotteAT['vaisseau'.$i])), array(array($nomvais_bc[$i-1], $flotteAT['vaisseau'.$i])));
|
||||
if ($flotteAT['vaisseau_'.$i] >= 1) {
|
||||
//Création des groupes
|
||||
$nbvais = $flotteAT['vaisseau_'.$i];
|
||||
$nbgroupes = floor(sqrt(ceil($nbvais/10)));
|
||||
$nbvaispgroupe = floor($nbvais/$nbgroupes);
|
||||
$nbrest = $nbvais - $nbvaispgroupe * $nbgroupes;
|
||||
|
||||
if (isset($groupe)) unset($groupe);
|
||||
$groupe = array();
|
||||
for ($j=0 ; $j < $nbgroupes ; $j++) {
|
||||
if ($j == $nbgroupes) $nbvaispgroupe += $nbrest;
|
||||
$groupe[] = array($nbvaispgroupe, $nomvais_bc[$i-1], $nomvais_pv[$i-1]);
|
||||
}
|
||||
$this->ATvais[] = array($i, $flotteAT['vaisseau_'.$i], $nbgroupes, $groupe);
|
||||
}
|
||||
}
|
||||
|
||||
//Génération des vaisseaux défenseurs
|
||||
//Définition d'autres variables de la classe concernant la flotte
|
||||
$this->refflotte = $flotteAT['id'];
|
||||
$this->vaisContenu = $flotteAT['contenu_max'];
|
||||
$this->vaisContenuM = $flotteAT['contenu_metal'];
|
||||
$this->vaisContenuC = $flotteAT['contenu_cristal'];
|
||||
$this->vaisContenuH = $flotteAT['contenu_hydrogene'];
|
||||
$this->timestamp = $flotteAT['start_time'] + $flotteAT['end_time'];
|
||||
|
||||
//Génération des vaisseaux défenseurs
|
||||
for ($i=1 ; $i<=12 ; $i++) {
|
||||
if ($flotteEN['vaisseau_'.$i] >= 1) {
|
||||
$this->ENvais[] = array($i, $flotteEN['vaisseau_'.$i], array(array($nomvais_pv[$i-1], $flotteEN['vaisseau_'.$i])), array(array($nomvais_bc[$i-1], $flotteEN['vaisseau_'.$i])));
|
||||
//Création des groupes
|
||||
$nbvais = $flotteEN['vaisseau_'.$i];
|
||||
$nbgroupes = floor(sqrt(ceil($nbvais/10)));
|
||||
$nbvaispgroupe = floor($nbvais/$nbgroupes);
|
||||
$nbrest = $nbvais - $nbvaispgroupe * $nbgroupes;
|
||||
|
||||
if (isset($groupe)) unset($groupe);
|
||||
$groupe = array();
|
||||
for ($j=0 ; $j < $nbgroupes ; $j++) {
|
||||
if ($j == $nbgroupes) $nbvaispgroupe += $nbrest;
|
||||
$groupe[] = array($nbvaispgroupe, $nomvais_bc[$i-1], $nomvais_pv[$i-1]);
|
||||
}
|
||||
$this->ENvais[] = array($i, $flotteEN['vaisseau_'.$i], $nbgroupes, $groupe);
|
||||
}
|
||||
}
|
||||
|
||||
//Génération des défenses défenseurs
|
||||
//Génération des défenses défenseurs
|
||||
for ($i=1 ; $i<=5 ; $i++) {
|
||||
if ($defEN['def_'.$i] >= 1) {
|
||||
$this->ENdef[] = array($i, $defEN['def_'.$i], array(array($nomvais_pv[$i-1], $defEN['def_'.$i])), array(array($nomvais_bc[$i-1], $defEN['def_'.$i])));
|
||||
//Création des groupes
|
||||
$nbvais = $defEN['def_'.$i];
|
||||
$nbgroupes = floor(sqrt(ceil($nbvais/10)));
|
||||
$nbvaispgroupe = floor($nbvais/$nbgroupes);
|
||||
$nbrest = $nbvais - $nbvaispgroupe * $nbgroupes;
|
||||
|
||||
if (isset($groupe)) unset($groupe);
|
||||
$groupe = array();
|
||||
for ($j=0 ; $j < $nbgroupes ; $j++) {
|
||||
if ($j == $nbgroupes) $nbvaispgroupe += $nbrest;
|
||||
$groupe[] = array($nbvaispgroupe, $defense_bc[$i-1], $defense_pv[$i-1]);
|
||||
}
|
||||
$this->ENdef[] = array($i, $defEN['def_'.$i], $nbgroupes, $groupe);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Change la tactique de l'attaquant
|
||||
* @param int $tactique numéro de la tactique choisie
|
||||
* @param int $tactique numéro de la tactique choisie
|
||||
*
|
||||
* @return void
|
||||
* @access public
|
||||
|
|
@ -62,8 +115,8 @@ class Combat {
|
|||
}
|
||||
|
||||
/**
|
||||
* Change la tactique du défenseur
|
||||
* @param int $tactique numéro de la tactique choisie
|
||||
* Change la tactique du défenseur
|
||||
* @param int $tactique numéro de la tactique choisie
|
||||
*
|
||||
* @return void
|
||||
* @access public
|
||||
|
|
@ -73,12 +126,12 @@ class Combat {
|
|||
}
|
||||
|
||||
/**
|
||||
* Régénére les boucliers
|
||||
* @param int $pourcentage pourcentage de régénération
|
||||
* @param bool $attaquant régénére le bouclier de l'attaquant si true, sinon régénrére celui du défenseur
|
||||
* @param bool $retour si true, renvoie true ou false si !le pourcentage a été consommé ou non, si false, retrourne ne nombre de pourcentage restant
|
||||
* Régénére les boucliers
|
||||
* @param int $pourcentage pourcentage de régénération
|
||||
* @param bool $attaquant régénére le bouclier de l'attaquant si true, sinon régénrére celui du défenseur
|
||||
* @param bool $retour si true, renvoie true ou false si !le pourcentage a été consommé ou non, si false, retrourne ne nombre de pourcentage restant
|
||||
*
|
||||
* @return float pourcentage non utilisé
|
||||
* @return float pourcentage non utilisé
|
||||
* @access public
|
||||
*/
|
||||
function regenereBC($pourcentage, $attaquant, $retour = false) {
|
||||
|
|
@ -91,22 +144,23 @@ class Combat {
|
|||
$type = $this->ATvais[$i][0]-1;
|
||||
$maxbc = $nomvais_bc[$type];
|
||||
$ajout = $maxbc*$pourcentage/100;
|
||||
$norm += $maxbc * $this->ATvais[$i][1];
|
||||
|
||||
$cntbc = count($this->ATvais[$i][3]);
|
||||
for ($j=0 ; $j<$cntbc ; $j++) {
|
||||
if ($this->ATvais[$i][3][$j][0] < $maxbc) {
|
||||
$this->ATvais[$i][3][$j][0] += $ajout;
|
||||
$norm += $maxbc * $this->ATvais[$i][3][$j][0];
|
||||
|
||||
if ($this->ATvais[$i][3][$j][1] < $maxbc) {
|
||||
$this->ATvais[$i][3][$j][1] += $ajout;
|
||||
}
|
||||
else $enplus += $ajout * $this->ATvais[$i][3][$j][1];
|
||||
if ($this->ATvais[$i][3][$j][0] > $maxbc) {
|
||||
$enplus += ($this->ATvais[$i][3][$j][0] - $maxbc)*$this->ATvais[$i][3][$j][1];
|
||||
$this->ATvais[$i][3][$j][0] = $maxbc;
|
||||
else $enplus += $ajout * $this->ATvais[$i][3][$j][0];
|
||||
if ($this->ATvais[$i][3][$j][1] > $maxbc) {
|
||||
$enplus += ($this->ATvais[$i][3][$j][1] - $maxbc)*$this->ATvais[$i][3][$j][0];
|
||||
$this->ATvais[$i][3][$j][1] = $maxbc;
|
||||
}
|
||||
}
|
||||
}
|
||||
if ($retour) {
|
||||
if($enplus/$norm == 1) return true;
|
||||
if($enplus/$norm == 1) return $pourcentage;
|
||||
else return false;
|
||||
}
|
||||
else return $enplus/$norm;
|
||||
|
|
@ -119,23 +173,23 @@ class Combat {
|
|||
$type = $this->ENvais[$i][0]-1;
|
||||
$maxbc = $nomvais_bc[$type];
|
||||
$ajout = $maxbc*$pourcentage/100;
|
||||
$norm += $maxbc * $this->ENvais[$i][1];
|
||||
|
||||
$cntbc = count($this->ENvais[$i][3]);
|
||||
for ($j=0 ; $j<$cntbc ; $j++) {
|
||||
if ($this->ENvais[$i][3][$j][0] < $maxbc) {
|
||||
$this->ENvais[$i][3][$j][0] += $ajout;
|
||||
$norm += $maxbc * $this->ENvais[$i][3][$j][0];
|
||||
if ($this->ENvais[$i][3][$j][1] < $maxbc) {
|
||||
$this->ENvais[$i][3][$j][1] += $ajout;
|
||||
}
|
||||
else $enplus += $ajout * $this->ENvais[$i][3][$j][1];
|
||||
if ($this->ENvais[$i][3][$j][0] > $maxbc) {
|
||||
$enplus += ($this->ENvais[$i][3][$j][0] - $maxbc)*$this->ENvais[$i][3][$j][1];
|
||||
$this->ENvais[$i][3][$j][0] = $maxbc;
|
||||
else $enplus += $ajout * $this->ENvais[$i][3][$j][0];
|
||||
if ($this->ENvais[$i][3][$j][1] > $maxbc) {
|
||||
$enplus += ($this->ENvais[$i][3][$j][1] - $maxbc)*$this->ENvais[$i][3][$j][0];
|
||||
$this->ENvais[$i][3][$j][1] = $maxbc;
|
||||
}
|
||||
}
|
||||
}
|
||||
$return = $enplus/$norm;
|
||||
|
||||
//Défenses
|
||||
//Défenses
|
||||
$count = count($this->ENdef);
|
||||
$enplus = 0;
|
||||
$norm = 0;
|
||||
|
|
@ -143,29 +197,33 @@ class Combat {
|
|||
$type = $this->ENdef[$i][0]-1;
|
||||
$maxbc = $defense_bc[$type];
|
||||
$ajout = $maxbc*$pourcentage/100;
|
||||
$norm += $maxbc * $this->ENdef[$i][1];
|
||||
|
||||
$cntbc = count($this->ENdef[$i][3]);
|
||||
for ($j=0 ; $j<$cntbc ; $j++) {
|
||||
if ($this->ENdef[$i][3][$j][0] < $maxbc) {
|
||||
$this->ENdef[$i][3][$j][0] += $ajout;
|
||||
$norm += $maxbc * $this->ENdef[$i][3][$j][0];
|
||||
if ($this->ENdef[$i][3][$j][1] < $maxbc) {
|
||||
$this->ENdef[$i][3][$j][1] += $ajout;
|
||||
}
|
||||
else $enplus += $ajout * $this->ENdef[$i][3][$j][1];
|
||||
if ($this->ENdef[$i][3][$j][0] > $maxbc) {
|
||||
$enplus += ($this->ENdef[$i][3][$j][0] - $maxbc)*$this->ENdef[$i][3][$j][1];
|
||||
$this->ENdef[$i][3][$j][0] = $maxbc;
|
||||
else $enplus += $ajout * $this->ENdef[$i][3][$j][0];
|
||||
if ($this->ENdef[$i][3][$j][1] > $maxbc) {
|
||||
$enplus += ($this->ENdef[$i][3][$j][1] - $maxbc)*$this->ENdef[$i][3][$j][0];
|
||||
$this->ENdef[$i][3][$j][1] = $maxbc;
|
||||
}
|
||||
}
|
||||
}
|
||||
$return += $enplus/$norm;
|
||||
return $return/2;
|
||||
if ($retour) {
|
||||
if($enplus/$norm == 1) return $pourcentage;
|
||||
else return false;
|
||||
}
|
||||
else return $return/2;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Calcul la puissance d'attaque disponible
|
||||
* @param int $pourcentage pourcentage de régénération
|
||||
* @param bool $attaquant calcul les points de l'attaquant si true, sinon calcul pour le défenseur
|
||||
* @param int $pourcentage pourcentage de régénération
|
||||
* @param bool $attaquant calcul les points de l'attaquant si true, sinon calcul pour le défenseur
|
||||
*
|
||||
* @return int points disponibles
|
||||
* @access public
|
||||
|
|
@ -189,7 +247,7 @@ class Combat {
|
|||
$puissance += $maxat * $pourcentage/100 * $this->ENvais[$i][1];
|
||||
}
|
||||
|
||||
//Défenses
|
||||
//Défenses
|
||||
$count = count($this->ENdef);
|
||||
for ($i=0 ; $i<$count ; $i++) {
|
||||
$maxat = $defense_at[$this->ENdef[$i][0]-1];
|
||||
|
|
@ -202,77 +260,270 @@ class Combat {
|
|||
/**
|
||||
* Attaque les vaisseaux adverses
|
||||
* @param int $points points d'attaque disponible pour l'attaque
|
||||
* @param bool $attaquant attaque le défenseur si true, sinon attaque l'attaquant
|
||||
* @param bool $attaquant attaque le défenseur si true, sinon attaque l'attaquant
|
||||
*
|
||||
* @return void
|
||||
* @access public
|
||||
*/
|
||||
function attaquerVais($points, $attaquant) {
|
||||
include('includes/vars.php');
|
||||
if ($attaquant) {
|
||||
while($points > 0) {
|
||||
// Calcul du nombre de vaisseaux et défenses à attaquer
|
||||
// Calcul du nombre de vaisseaux et défenses à attaquer
|
||||
$nbvais = 0;
|
||||
$nbgroupes = 0;
|
||||
$nb = count($this->ENvais);
|
||||
for ($i=0 ; $i<$nb ; $i++) {
|
||||
$nbvais += $this->ENvais[$i][1];
|
||||
$nbgroupes += $this->ENvais[$i][2];
|
||||
}
|
||||
$nb = count($this->ENdef);
|
||||
for ($i=0 ; $i<$nb ; $i++) {
|
||||
$nbvais += $this->ENdef[$i][1];
|
||||
$nbgroupes += $this->ENdef[$i][2];
|
||||
}
|
||||
|
||||
//S'il ne reste plus de vaisseaux et de défenses, on arrête la boucle
|
||||
if ($nbvais < 0 || $points < 0) break;
|
||||
//S'il ne reste plus de vaisseaux et de défenses, on arrête la boucle
|
||||
if ($nbvais <= 0 || $nbgroupes <= 0 || $points <= 0) break;
|
||||
|
||||
//Calcul du nombre de points qui sera enlevé par vaisseau ou défense
|
||||
$ppv = $points / $nbvais;
|
||||
//Calcul du nombre de points qui sera enlevé par vaisseau ou défense
|
||||
$ppv = $points / $nbgroupes;
|
||||
$points = 0;
|
||||
|
||||
//On lance l'attaque
|
||||
$nb = count($this->ENvais);
|
||||
for ($i=0 ; $i<$nb ; $i++) {
|
||||
$persage = 0; //Initialisation du nombre de point restant pour attaquer les PV
|
||||
$nbpersage = 0; //Initialisation du nombre de vaisseaux affectuer par le persage
|
||||
$nbj = count($this->ENvais[$i][3]); //Nombre de vaisseaux dans le groupe
|
||||
//On lance l'attaque contre les vaisseaux
|
||||
for ($j=0 ; $j<$nbgroupes ; $j++){
|
||||
$k = rand(0, count($this->ENvais)-1);
|
||||
$l = rand(0, count($this->ENvais[$k][3])-1);
|
||||
|
||||
//Attaque des boucliers
|
||||
for ($j=0 ; $j<$nbj ; $j++) {
|
||||
$this->ENvais[$i][3][$j][0] -= $ppv;
|
||||
if ($this->ENvais[$i][3][$j][0] <= 0) {
|
||||
$persage += abs($this->ENvais[$i][3][$j][0]);
|
||||
$nbpersage += $this->ENvais[$i][3][$j][1];
|
||||
$this->ENvais[$i][3][$j][0] = 0;
|
||||
}
|
||||
}
|
||||
|
||||
//Attaque des PV
|
||||
while($persage > 0) {
|
||||
$j = count($this->ENvais[$i][2])-1; //Nombre de vaisseaux dans le groupe
|
||||
if ($this->ENvais[$i][2][$j][0] * $this->ENvais[$i][2][$j][1] < $persage * $nbpersage) { //Si il y a suffisament de point de persage pour détruire tous les vaisseaux de cette ligne
|
||||
//On efface les vaisseaux du nombre total
|
||||
$nbvais -= $this->ENvais[$i][2][$j][1];
|
||||
$this->ENvais[$i][1] -= $this->ENvais[$i][2][$j][1];
|
||||
|
||||
//On efface le groupe
|
||||
unset($this->ENvais[$i][2][$j]);
|
||||
|
||||
//S'il ne reste aucun vaisseaux du type, on le supprime
|
||||
if ($j == 0 || $this->ENvais[$i][1] == 0) {
|
||||
unset($this->ENvais[$i]);
|
||||
$persage = 0;
|
||||
$this->ENvais[$k][3][$l][1] -= $ppv;
|
||||
if ($this->ENvais[$k][3][$l][1] < 0) {
|
||||
$this->ENvais[$k][3][$l][2] -= abs($this->ENvais[$k][3][$l][1]);
|
||||
$this->ENvais[$k][3][$l][1] = 0;
|
||||
if ($this->ENvais[$k][3][$l][2] <= 0) {
|
||||
$this->ENvais[$k][1] -= $this->ENvais[$k][3][$l][0];
|
||||
$this->ENvais[$k][2] --;
|
||||
unset($this->ENvais[$k][3][$l]);
|
||||
$this->ENvais[$k][3] = array_merge($this->ENvais[$k][3]);
|
||||
if (!count($this->ENvais[$k][3])) {
|
||||
unset($this->ENvais[$k]);
|
||||
$this->ENvais[$k] = array_merge($this->ENvais[$k]);
|
||||
}
|
||||
}
|
||||
else { //Attaque vaisseau par vaisseau dans le groupe
|
||||
$nbmod = floor(($this->ENvais[$i][2][$j][0] * $this->ENvais[$i][2][$j][1])/($persage * $nbpersage));
|
||||
$this->ENvais[$i][1] -= $nbmod;
|
||||
$nbvais -= $nbmod;
|
||||
}
|
||||
}
|
||||
|
||||
//On lance l'attaque contre les défenses
|
||||
for ($j=0 ; $j<$nbgroupes ; $j++){
|
||||
$k = rand(0, count($this->ENdef)-1);
|
||||
$l = rand(0, count($this->ENdef[$k][3])-1);
|
||||
|
||||
$this->ENdef[$k][3][$l][1] -= $ppv;
|
||||
if ($this->ENdef[$k][3][$l][1] < 0) {
|
||||
$this->ENdef[$k][3][$l][2] -= abs($this->ENdef[$k][3][$l][1]);
|
||||
$this->ENdef[$k][3][$l][1] = 0;
|
||||
if ($this->ENdef[$k][3][$l][2] <= 0) {
|
||||
$this->ENdef[$k][1] -= $this->ENdef[$k][3][$l][0];
|
||||
$this->ENdef[$k][2] --;
|
||||
unset($this->ENdef[$k][3][$l]);
|
||||
$this->ENdef[$k][3] = array_merge($this->ENdef[$k][3]);
|
||||
if (!count($this->ENdef[$k][3])) {
|
||||
unset($this->ENdef[$k]);
|
||||
$this->ENdef[$k] = array_merge($this->ENdef[$k]);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return count($this->ENvais) + count($this->ENdef);
|
||||
}
|
||||
else {
|
||||
while($points > 0) {
|
||||
// Calcul du nombre de vaisseaux et défenses à attaquer
|
||||
$nbvais = 0;
|
||||
$nbgroupes = 0;
|
||||
$nb = count($this->ATvais);
|
||||
for ($i=0 ; $i<$nb ; $i++) {
|
||||
$nbvais += $this->ATvais[$i][1];
|
||||
$nbgroupes += $this->ATvais[$i][2];
|
||||
}
|
||||
|
||||
//S'il ne reste plus de vaisseaux et de défenses, on arrête la boucle
|
||||
if ($nbvais <= 0 || $nbgroupes <= 0 || $points <= 0) break;
|
||||
|
||||
//Calcul du nombre de points qui sera enlevé par vaisseau ou défense
|
||||
$ppv = $points / $nbvais;
|
||||
$points = 0;
|
||||
|
||||
//On lance l'attaque
|
||||
for ($j=0 ; $j<$nbgroupes ; $j++){
|
||||
$k = rand(0, count($this->ENdef)-1);
|
||||
$l = rand(0, count($this->ENdef[$k][3])-1);
|
||||
|
||||
$this->ENdef[$k][3][$l][1] -= $ppv;
|
||||
if ($this->ENdef[$k][3][$l][1] < 0) {
|
||||
$this->ENdef[$k][3][$l][2] -= abs($this->ENdef[$k][3][$l][1]);
|
||||
$this->ENdef[$k][3][$l][1] = 0;
|
||||
if ($this->ENdef[$k][3][$l][2] <= 0) {
|
||||
$this->ENdef[$k][1] -= $this->ENdef[$k][3][$l][0];
|
||||
$this->ENdef[$k][2] --;
|
||||
unset($this->ENdef[$k][3][$l]);
|
||||
$this->ENdef[$k][3] = array_merge($this->ENdef[$k][3]);
|
||||
if (!count($this->ENdef[$k][3])) {
|
||||
unset($this->ENdef[$k]);
|
||||
$this->ENdef[$k] = array_merge($this->ENdef[$k]);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return count($this->ATvais);
|
||||
}
|
||||
}
|
||||
|
||||
function exportAT($pillage = false){
|
||||
include('includes/vars.php');
|
||||
$nb = count($this->ATvais);
|
||||
$nbvais = 0; $vaisContenu = 0; $vaisseau_1 = 0; $vaisseau_2 = 0; $vaisseau_3 = 0; $vaisseau_4 = 0; $vaisseau_5 = 0; $vaisseau_6 = 0; $vaisseau_7 = 0; $vaisseau_8 = 0; $vaisseau_9 = 0; $vaisseau_10 = 0; $vaisseau_11 = 0; $vaisseau_12 = 0;
|
||||
for($i=0 ; $i<$nb ; $i++) {
|
||||
${'vaisseau_'.$this->ATvais[$i][0]} += $this->ATvais[$i][1];
|
||||
$nbvais += $this->ATvais[$i][1];
|
||||
$this->vaisContenu += $nomvais_rs[$this->ATvais[$i][0]-1];
|
||||
}
|
||||
$sommeCont = $this->vaisContenuM + $this->vaisContenuC + $this->vaisContenuH;
|
||||
if ($sommeCont > $this->vaisContenu) {
|
||||
$retirer = $sommeCont/$this->vaisContenu;
|
||||
$this->vaisContenuM = floor($this->vaisContenuM/$retirer);
|
||||
$this->vaisContenuC = floor($this->vaisContenuC/$retirer);
|
||||
$this->vaisContenuH = floor($this->vaisContenuH/$retirer);
|
||||
}
|
||||
if ($pillage) {
|
||||
$req = mysql_query("SELECT * FROM flottes WHERE `id` = '".$this->refflotte."'");
|
||||
$resultat = mysql_fetch_array($req);
|
||||
$reqDef = mysql_query("SELECT * FROM `planete` WHERE `galaxie` = '".$resultat['end_galaxie']."' AND `ss` = '".$resultat['end_ss']."' AND `position` = '".$resultat['end_position']."'") or die ("erreur sql ".mysql_error());
|
||||
$resultatDef = mysql_fetch_array($reqDef);
|
||||
$ressplus = pillage($resultatDef['metal'], $resultatDef['cristal'], $resultatDef['hydrogene'], $this->vaisContenu - $this->vaisContenuM - $this->vaisContenuC - $this->vaisContenuH);
|
||||
|
||||
$this->vaisContenuM += $ressplus[0];
|
||||
$this->vaisContenuC += $ressplus[1];
|
||||
$this->vaisContenuH += $ressplus[2];
|
||||
}
|
||||
return '`nb_vais` = \''.$nbvais.'\', `contenu_max` = \''.$this->vaisContenu.'\', `contenu_metal` = \''.$this->vaisContenuM.'\', `contenu_cristal` = \''.$this->vaisContenuC.'\', `contenu_hydrogene` = \''.$this->vaisContenuH.'\', `vaisseau_1` = \''.$vaisseau_1.'\', `vaisseau_2` = \''.$vaisseau_2.'\', `vaisseau_3` = \''.$vaisseau_3.'\', `vaisseau_4` = \''.$vaisseau_4.'\', `vaisseau_5` = \''.$vaisseau_5.'\', `vaisseau_6` = \''.$vaisseau_6.'\', `vaisseau_7` = \''.$vaisseau_7.'\', `vaisseau_8` = \''.$vaisseau_8.'\', `vaisseau_9` = \''.$vaisseau_9.'\', `vaisseau_10` = \''.$vaisseau_10.'\', `vaisseau_11` = \''.$vaisseau_11.'\', `vaisseau_12` = \''.$vaisseau_12.'\'';
|
||||
}
|
||||
|
||||
function exportEN(){
|
||||
$nb = count($this->ENvais);
|
||||
$vaisseau_1 = 0; $vaisseau_2 = 0; $vaisseau_3 = 0; $vaisseau_4 = 0; $vaisseau_5 = 0; $vaisseau_6 = 0; $vaisseau_7 = 0; $vaisseau_8 = 0; $vaisseau_9 = 0; $vaisseau_10 = 0; $vaisseau_11 = 0; $vaisseau_12 = 0;
|
||||
for($i=0 ; $i<$nb ; $i++) {
|
||||
${'vaisseau_'.$this->ENvais[$i][0]} += $this->ENvais[$i][1];
|
||||
}
|
||||
$nb = count($this->ENdef);
|
||||
$def_1 = 0; $def_2 = 0; $def_3 = 0; $def_4 = 0; $def_5 = 0;
|
||||
for($i=0 ; $i<$nb ; $i++) {
|
||||
${'def_'.$this->ENdef[$i][0]} += $this->ENdef[$i][1];
|
||||
}
|
||||
return '`vaisseau_1` = \''.$vaisseau_1.'\', `vaisseau_2` = \''.$vaisseau_2.'\', `vaisseau_3` = \''.$vaisseau_3.'\', `vaisseau_4` = \''.$vaisseau_4.'\', `vaisseau_5` = \''.$vaisseau_5.'\', `vaisseau_6` = \''.$vaisseau_6.'\', `vaisseau_7` = \''.$vaisseau_7.'\', `vaisseau_8` = \''.$vaisseau_8.'\', `vaisseau_9` = \''.$vaisseau_9.'\', `vaisseau_10` = \''.$vaisseau_10.'\', `vaisseau_11` = \''.$vaisseau_11.'\', `vaisseau_12` = \''.$vaisseau_12.'\', `def_1` = \''.$def_1.'\', `def_2` = \''.$def_2.'\', `def_3` = \''.$def_3.'\', `def_4` = \''.$def_4.'\', `def_5` = \''.$def_5.'\'';
|
||||
}
|
||||
|
||||
function genRapport($fin, $ATgagnant = false){
|
||||
$req = mysql_query("SELECT * FROM `flottes` WHERE `id` = '".$this->refflotte."'");
|
||||
$resultat = mysql_fetch_array($req);
|
||||
$reqDef = mysql_query("SELECT `id_user` FROM `planete` WHERE `galaxie` = '".$resultat['end_galaxie']."' AND `ss` = '".$resultat['end_ss']."' AND `position` = '".$resultat['end_position']."'") or die ("erreur sql ".mysql_error());
|
||||
$resultatDef = mysql_fetch_array($reqDef);
|
||||
|
||||
if ($this->Ntour == 0) {
|
||||
$rapportAT = '[b]Le combat contre '.trouvNom($resultatDef['id_user']).' est engagé ![/b]
|
||||
|
||||
';
|
||||
$rapportEN = '[b]Un combat est engagé contre '.trouvNom($resultatDef['id_user']).' ![/b]
|
||||
|
||||
';
|
||||
}
|
||||
elseif ($fin) {
|
||||
$rapportAT = '[b]Le combat contre '.trouvNom($resultatDef['id_user']).' est terminé ![/b]
|
||||
|
||||
';
|
||||
$rapportEN = '[b]Le combat contre '.trouvNom($resultatDef['id_user']).' est terminé ![/b]
|
||||
|
||||
';
|
||||
}
|
||||
else {
|
||||
$rapportAT = '[b]Suite du combat contre '.trouvNom($resultatDef['id_user']).' ![/b]
|
||||
|
||||
';
|
||||
$rapportEN = '[b]Suite du combat contre '.trouvNom($resultatDef['id_user']).' ![/b]
|
||||
|
||||
';
|
||||
}
|
||||
$rapportAT .= 'Tactique lors de ce tour : '.txtTactique($this->ATtactique).'.
|
||||
|
||||
Lieux : ['.$resultat['end_galaxie'].':'.$resultat['end_ss'].':'.$resultat['end_position'].'] METTRE UN LIEN
|
||||
|
||||
Vaisseaux au début de notre côté :
|
||||
Array
|
||||
|
||||
Vaisseaux adverse au début :
|
||||
Array
|
||||
|
||||
Défenses adverse au début :
|
||||
Array
|
||||
|
||||
Etat de notre flotte à la fin de ce tour :
|
||||
Grand Array ^^
|
||||
|
||||
Etat de la flotte adverse à la fin de ce tour :
|
||||
Grand Array ^^
|
||||
|
||||
';
|
||||
|
||||
$rapportEN .= 'Tactique lors de ce tour : '.txtTactique($this->ENtactique).'.
|
||||
|
||||
Lieux : ['.$resultat['end_galaxie'].':'.$resultat['end_ss'].':'.$resultat['end_position'].'] METTRE UN LIEN
|
||||
|
||||
Vaisseaux au début de notre côté :
|
||||
Array
|
||||
|
||||
Défenses au début de notre côté :
|
||||
Array
|
||||
|
||||
Vaisseaux adverse au début :
|
||||
Array
|
||||
|
||||
Etat de notre flotte à la fin de ce tour :
|
||||
Grand Array ^^
|
||||
|
||||
Etat de la flotte adverse à la fin de ce tour :
|
||||
Grand Array ^^
|
||||
|
||||
';
|
||||
|
||||
if (floor($this->Ntour/2) == $this->Ntour/2 && !$fin) {
|
||||
$rapportAT .= 'Vous pouvez profiter du temps de régénération des boucliers et des armes pour envoyer un nouvel ordre de tactique : Cliquez ici !
|
||||
|
||||
La prochaine attaque est prévue à '.date('/dm/ H:i:s', $this->timestamp+600);
|
||||
$rapportEN .= 'Vous pouvez profiter du temps de régénération des boucliers et des armes pour envoyer un nouvel ordre de tactique : Cliquez ici !
|
||||
|
||||
La prochaine attaque est prévue à '.date('/dm/ H:i:s', $this->timestamp+300);
|
||||
}
|
||||
elseif (!$fin) {
|
||||
$rapportAT .= 'Vous pouvez profiter du temps de régénération des boucliers et des armes pour envoyer un nouvel ordre de tactique : Cliquez ici !
|
||||
|
||||
La prochaine attaque est prévue à '.date('/dm/ H:i:s', $this->timestamp+300);
|
||||
$rapportEN .= 'Vous pouvez profiter du temps de régénération des boucliers et des armes pour envoyer un nouvel ordre de tactique : Cliquez ici !
|
||||
|
||||
La prochaine attaque est prévue à '.date('/dm/ H:i:s', $this->timestamp+600);
|
||||
}
|
||||
elseif ($fin && $ATgagnant) {
|
||||
$rapportAT .= 'Nous avons gagné le combat !
|
||||
|
||||
Nous repartons avec plein de choses.';
|
||||
$rapportEN .= 'Nous n\'avons pas pu repousser l\'envahisseur qui repart avec plein de chose.';
|
||||
}
|
||||
elseif ($fin && !$ATgagnant) {
|
||||
$rapportAT .= 'Nous avons perdu le combat !';
|
||||
$rapportEN .= 'Nous avons pu repousser l\'envahisseur qui repart sans rien.';
|
||||
}
|
||||
|
||||
return array(mysql_real_escape_string($rapportAT), mysql_real_escape_string($rapportEN), $resultat['id_user'], $resultatDef['id_user']);
|
||||
}
|
||||
}
|
||||
?>
|
||||
Loading…
Add table
Add a link
Reference in a new issue