public function useHeatRay(&$target) { $remaining = $target->getHP() - $this->heatRay; // $superman->setHP(90); $target->setHP($remaining); } } $achilleas = new human(100, 10); $achilleas->setUtilityDamage(1.2); $achilleas->setCritChance(10); $achilleas->setRagePower(2); $superman = new kryptonian(100, 10); $superman->setHeatRay(18); $superman->setCritChance(20); $br = 0; while ($achilleas->getHP() && $superman->getHP() > 0) { $br++; if ($br % 2 == 0) { if (rand(0, 1) < 1) { $achilleas->useRagePower(); $achilleas->attack($superman); if ($superman->getHP() > 0) { $superman->useHeatRay($achilleas); $superman->attack($achilleas); } } else { $superman->useHeatRay($achilleas); $superman->attack($achilleas); if ($achilleas->getHP() > 0) { $achilleas->useRagePower(); $achilleas->attack($superman);
$batman->useBatarangs(); $superman->useHeatRay($batman); } else { $superman->attack($batman); $batman->attack($superman); $superman->useHeatRay($batman); $batman->useBelt(); $batman->useBatarangs(); } } else { $superman->attack($batman); $batman->attack($superman); $superman->useHeatRay($batman); $batman->useBelt(); $batman->useBatarangs(); } echo "<pre>"; print_r($batman); print_r($superman); } while ($batman->getHP() > 0 && $superman->getHP() > 0); if ($batman->getHP() < 0) { echo "Superman win"; } else { echo "Batman win"; } /* echo "<pre>"; print_r($batman); print_r($superman); */ exit;