game/onyx/hb_game/jeu/simulateur.php

125 lines
5.2 KiB
PHP
Raw Normal View History

2008-12-01 11:00:00 +00:00
<?php
if(!defined('INDEX')) { header('Location: ../'); exit; }
$page = 'simulateur_combat';
$titre = 'Simulateur de combat';
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['maxtour'])) {
$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
$combat = new Combat($queryFlottes[$i], $queryEN, $queryEN);
$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]) {
if ($combat->Ntour >= $_POST['maxtour']) break;
$combat->Ntour++;
//Détermine à qui est le tour : attaquant ou défenseur
if ($combat->Ntour%2) { //Tour impaire : tour attaquant
//Récupération des paramètres de la tactique
$arraytactique = tactique($combat->ATtactique);
//Lancement du combat, si condition validée, attaquant vainceur
2008-11-04 11:00:00 +00:00
@$attaque = $combat->calcAttaque($arraytactique[2] + $combat->regenereBC($arraytactique[1], true, !$arraytactique[3]), true);
if (@!$combat->attaquerVais($attaque, true)) {
2008-12-01 11:00:00 +00:00
$combat->pillageSimul($queryEN['metal'], $queryEN['cristal'], $queryEN['hydrogene']);
$rapport->addInfo(array(true, true), 6);
}
else $rapport->addInfo(array(false, false), 6);
}
else { //Tour impaire : tour défenseur
//Récupération des paramètres de la tactique
$arraytactique = tactique($combat->ENtactique);
//Lancement du combat, si condition validée, défenseur vainceur
2008-11-04 11:00:00 +00:00
@$attaque = $combat->calcAttaque($arraytactique[2] + $combat->regenereBC($arraytactique[1], false, !$arraytactique[3]), false);
if (@!$combat->attaquerVais($attaque, false)) $rapport->addInfo(array(true, false), 6);
2008-12-01 11:00:00 +00:00
else $rapport->addInfo(array(false, false), 6);
}
$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-04 11:00:00 +00:00
$rapport->addInfo($attaque, 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;
exit;
}
else {
$template->assign('nomvais', $nomvaisn);
array_splice($nomterra, 0, 8);
$template->assign('nomdef', $nomterra);
$template->assign('nomressourc', $ressourc);
}
?>