prenom = $noms[rand(0, count($noms) - 1)]; $this->force = rand(1, 5); $this->experience = 0; $this->sante = 100; } // Méthode pour afficher les informations de l'humain public function info() { return "Prénom : $this->prenom, Force : $this->force, Expérience : $this->experience, Santé : $this->sante"; } // Méthode pour l'attaque et la riposte public function attaquer($adversaire) { $attaque = $this->force + $this->experience; $adversaire->sante -= $attaque; $this->experience++; if ($adversaire->sante > 0) { // Riposte si l'adversaire est toujours en vie $adversaire->riposter($this); } } // Méthode de riposte public function riposter($adversaire) { $attaque = $this->force + $this->experience; $adversaire->sante -= $attaque; $this->experience++; } } // Tableau de prénoms $noms = ["Alice", "Bob", "Charlie", "David", "Emma"]; // Création des humains $nbCombatants = 5; $combatants = []; for ($i = 0; $i < $nbCombatants; $i++) { $combatants[] = new Humain($noms); } // Combat 1 contre 1 jusqu'au dernier survivant while (count($combatants) > 1) { $combattant1 = $combatants[array_rand($combatants)]; do { $combattant2 = $combatants[array_rand($combatants)]; } while ($combattant2 === $combattant1); $combattant1->attaquer($combattant2); if ($combattant2->sante <= 0) { // Si l'adversaire est vaincu, le retirer des combattants $index = array_search($combattant2, $combatants); array_splice($combatants, $index, 1); } } // Affichage du vainqueur echo "Le dernier survivant est : " . $combatants[0]->prenom; ?>