game/onyx/hb_game/jeu/simulateur.php

141 lines
6.2 KiB
PHP
Raw Normal View History

2008-11-16 11:00:00 +00:00
<?php
2008-12-01 11:00:00 +00:00
if(!defined('INDEX')) { header('Location: ../'); exit; }
$page = 'simulateur_combat';
$titre = 'Simulateur de combat';
2008-11-16 11:00:00 +00:00
if (isset($_POST['ATvais_1']) && isset($_POST['ATvais_2']) && isset($_POST['ATvais_3']) && isset($_POST['ATvais_4']) && isset($_POST['ATvais_5']) && isset($_POST['ATvais_6']) && isset($_POST['ATvais_7']) && isset($_POST['ATvais_8']) && isset($_POST['ATvais_9']) && isset($_POST['ATvais_10']) && isset($_POST['ATvais_12']) && isset($_POST['ENvais_1']) && isset($_POST['ENvais_2']) && isset($_POST['ENvais_3']) && isset($_POST['ENvais_4']) && isset($_POST['ENvais_5']) && isset($_POST['ENvais_6']) && isset($_POST['ENvais_7']) && isset($_POST['ENvais_8']) && isset($_POST['ENvais_9']) && isset($_POST['ENvais_10']) && isset($_POST['ENvais_11']) && isset($_POST['ENvais_12']) && isset($_POST['ENdef_1']) && isset($_POST['ENdef_2']) && isset($_POST['ENdef_3']) && isset($_POST['ENdef_4']) && isset($_POST['ENdef_5']) && isset($_POST['ENmetal']) && isset($_POST['ENcristal']) && isset($_POST['ENhydrogene']) && isset($_POST['ATtactique']) && isset($_POST['ENtactique']) && isset($_POST['ATarme']) && isset($_POST['ENarme']) && isset($_POST['ATblind']) && isset($_POST['ENblind']) && isset($_POST['maxtour'])) {
2008-12-01 11:00:00 +00:00
$i = 0;
$queryFlottes[$i] = array(
"id" => 0,
"contenu_max" => 999999,
"contenu_metal" => 0,
"contenu_cristal" => 0,
"contenu_hydrogene" => 0,
"start_time" => 0,
"end_time" => 0,
"mission" => 1,
"id_user" => $id_user,
"effectue" => 0,
"vaisseau_1" => $_POST['ATvais_1'],
"vaisseau_2" => $_POST['ATvais_2'],
"vaisseau_3" => $_POST['ATvais_3'],
"vaisseau_4" => $_POST['ATvais_4'],
"vaisseau_5" => $_POST['ATvais_5'],
"vaisseau_6" => $_POST['ATvais_6'],
"vaisseau_7" => $_POST['ATvais_7'],
"vaisseau_8" => $_POST['ATvais_8'],
"vaisseau_9" => $_POST['ATvais_9'],
"vaisseau_10" => $_POST['ATvais_10'],
"vaisseau_11" => 0,
"vaisseau_12" => $_POST['ATvais_12']
);
$queryEN = array(
"debris_met" => 0,
"debris_cri" => 0,
"metal" => $_POST['ENmetal'],
"cristal" => $_POST['ENcristal'],
"hydrogene" => $_POST['ENhydrogene'],
"def_1" => $_POST['ENdef_1'],
"def_2" => $_POST['ENdef_2'],
"def_3" => $_POST['ENdef_3'],
"def_4" => $_POST['ENdef_4'],
"def_5" => $_POST['ENdef_5'],
"vaisseau_1" => $_POST['ENvais_1'],
"vaisseau_2" => $_POST['ENvais_2'],
"vaisseau_3" => $_POST['ENvais_3'],
"vaisseau_4" => $_POST['ENvais_4'],
"vaisseau_5" => $_POST['ENvais_5'],
"vaisseau_6" => $_POST['ENvais_6'],
"vaisseau_7" => $_POST['ENvais_7'],
"vaisseau_8" => $_POST['ENvais_8'],
"vaisseau_9" => $_POST['ENvais_9'],
"vaisseau_10" => $_POST['ENvais_10'],
"vaisseau_11" => $_POST['ENvais_11'],
"vaisseau_12" => $_POST['ENvais_12']
);
2008-11-04 11:00:00 +00:00
require_once(_FCORE."hb_game/Class/class.combat.php");
require_once(_FCORE."hb_game/Class/class.rapport.php");
2008-12-01 11:00:00 +00:00
//On génére un nouveau combat
2008-11-16 11:00:00 +00:00
$combat = new Combat($queryFlottes[$i], $queryEN, $queryEN, array($_POST['ATblind'], $_POST['ENblind']));
2008-12-01 11:00:00 +00:00
$combat->changerTactiqueAT($_POST['ATtactique']);
$combat->changerTactiqueEN($_POST['ENtactique']);
$rapport = new Rapport(1, $queryFlottes[$i]['id_user'], 0, time());
$rapport->addInfo($combat->ATvais, 0);
$rapport->addInfo($combat->ENvais, 1);
$rapport->addInfo($combat->ENdef, 2);
$rapport->addInfo($queryEN, 4);
$rapport->addInfo($queryFlottes[$i], 5);
$rapport->addInfo(array(false, false), 6);
while(!$rapport->var[6][0]) {
2008-11-16 11:00:00 +00:00
if (!empty($_POST['maxtour']) && $combat->Ntour >= $_POST['maxtour']) break;
2008-12-01 11:00:00 +00:00
$combat->Ntour++;
2008-11-16 11:00:00 +00:00
//Récupération des paramètres de la tactique de l'attaquant
$arraytactique = tactique($combat->ATtactique);
//On régénére les boucliers de l'attaquant et on calcul l'attaque de l'attaquant
$ATattaque = $combat->calcAttaque($arraytactique[2] + $combat->regenereBC($arraytactique[1], true, !$arraytactique[3], $_POST['ATblind']), true, $_POST['ATarme']);
2008-12-01 11:00:00 +00:00
2008-11-16 11:00:00 +00:00
//Récupération des paramètres de la tactique du défenseur
$arraytactique = tactique($combat->ENtactique);
//On régénére les boucliers de l'attaquant et on calcul l'attaque de l'attaquant
$ENattaque = $combat->calcAttaque($arraytactique[2] + $combat->regenereBC($arraytactique[1], false, !$arraytactique[3], $_POST['ENblind']), false, $_POST['ENarme']);
//On lance l'attaque
@$ATresult = $combat->attaquerVais($ATattaque, true);
@$ENresult = $combat->attaquerVais($ENattaque, false);
if (!$ATresult && $ENresult) { //Attaquant vainqueur
$combat->ENres['metal'] = $queryEN['metal'];
$combat->ENres['cristal'] = $queryEN['cristal'];
$combat->ENres['hydrogene'] = $queryEN['hydrogene'];
2008-12-01 11:00:00 +00:00
2008-11-16 11:00:00 +00:00
$exportAT = $combat->exportAT(true); $ret_time = $combat->timestamp;
$exportEN = $combat->exportEN(); $pillm = $combat->pillage[0]; $pillc = $combat->pillage[1]; $pillh = $combat->pillage[2];
$rapport->addInfo(array(true, true, false), 6);
}
elseif ($ATresult && !$ENresult) { //Défenseur vainqueur
$exportEN = $combat->exportEN();
$rapport->addInfo(array(true, false, false), 6);
}
elseif (!$ATresult && !$ENresult) { //Match nul
$exportEN = $combat->exportEN();
$rapport->addInfo(array(true, false, true), 6);
}
elseif ($combat->Ntour >= 250) { //Match nul
$exportEN = $combat->exportEN();
$rapport->addInfo(array(true, false, true), 6);
2008-12-01 11:00:00 +00:00
}
2008-11-16 11:00:00 +00:00
else $rapport->addInfo(array(false, false, false), 6);
2008-12-01 11:00:00 +00:00
$rapport->addInfo($combat->ATvais, 7);
$rapport->addInfo($combat->ENvais, 8);
$rapport->addInfo($combat->ENdef, 9);
//Prévision du prochain tour
$combat->timestamp += 300;
$rapport->addInfo($combat->timestamp, 10);
$rapport->addInfo($combat->pillage, 11);
2008-11-16 11:00:00 +00:00
$rapport->addInfo($ATattaque.' vs '.$ENattaque, 14);
2008-12-01 11:00:00 +00:00
}
$rapport->addInfo($combat->Ntour, 3);
$debriM = $combat->debriM;
$debriC = $combat->debriC;
$rapport->addInfo(array($debriM, $debriC), 12);
$rapport->addInfo(array($enligne, $infos, count($infos)-1, array('humains' => $nbhumain, 'covenants' => $nbcovie, 'serveurs' => 'cette'), VERSION, $min.' min'), 13);
$template = $rapport->show();
print $template;
2008-11-16 11:00:00 +00:00
echo("\n<!--Page générée en : ".round((array_sum(explode(' ', microtime()))) - (array_sum(explode(' ', $chrono_start))), 4)." secondes.-->");
2008-12-01 11:00:00 +00:00
exit;
}
else {
$template->assign('nomvais', $nomvaisn);
2008-11-16 11:00:00 +00:00
$template->assign('technolo', $technolo);
2008-12-01 11:00:00 +00:00
array_splice($nomterra, 0, 8);
$template->assign('nomdef', $nomterra);
$template->assign('nomressourc', $ressourc);
}
?>