public function frapper(Personnage $personnage) { if ($personnage->getId() == $this->getId()) { return self::CEST_MOI; } $personnage->recevoirDegats(); }
public function update(Personnage $perso) { $q = $this->_db->prepare('UPDATE personnages SET degats = :degats WHERE id = :id'); $q->bindValue(':degats', $perso->getDegats(), PDO::PARAM_INT); $q->bindValue(':id', $perso->getId(), PDO::PARAM_INT); $q->execute(); }
public function frapperPesonnage(Personnage $p) { if ($p->id() == $this->id()) { return self::CEST_MOI; } else { return $p->recevoirDegats(); } }
public function update(Personnage $perso) { $q = $this->db->prepare('UPDATE personnages_v2 SET degats = :degats, timeEndormi = :timeEndormi, atout = :atout WHERE id = :id'); $q->bindValue(':degats', $perso->degats(), PDO::PARAM_INT); $q->bindValue(':timeEndormi', $perso->timeEndormi(), PDO::PARAM_INT); $q->bindValue(':atout', $perso->atout(), PDO::PARAM_INT); $q->bindValue(':id', $perso->id(), PDO::PARAM_INT); $q->execute(); }
public function frapper(Personnage $perso) { if ($perso->id() == $this->_id) { return self::CEST_MOI; } // On indique au personnage qu'il doit recevoir des dégâts. // Puis on retourne la valeur renvoyée par la méthode : self::PERSONNAGE_TUE ou self::PERSONNAGE_FRAPPE return $perso->recevoirDegats(); }
public function frapper(Personnage $perso) { // Avant tout: vérifier qu'on ne se frappe pas soi-même // Si c'est le cas, on stoppe tout en renvoyant une valeur signifiant que le personnage ciblé est le personnage qui attaque. if ($perso->id() == $this->_id) { return self::CEST_MOI; } // On indique au personnage frappé qu'il doit recevoir des dégâts. // Puis on retourne la valeur renvoyée par la méthode : self::PERSONNAGE_TUE ou self::PERSONNAGE_FRAPPE return $perso->recevoirDegats(); }
public function frapperUnPersonnage(Personnage $persoAFrapper) { if ($persoAFrapper->getId() == $this->id) { return self::DETECT_ME; } if ($this->toBeAsleep()) { return self::PERSO_ASLEEP; } // Indication au personnage qu'il reçoit un coup / des dégats // Puis on retourne la valeur renvoyée par la méthode : self::PERSONNAGE_TUE ou self::PERSONNAGE_FRAPPE return $persoAFrapper->recevoirUnCoup(); }
public static function getPersonnage(&$dataErrors, $numDocteur = null, $anneeDebut = null, $anneeFin = null, $acteur = null, $expFav = null) { $numDocteur = Personnage::getDefaultPersonnage(); $dataErrors = array(); try { $numDocteur->setNumDocteur($numDocteur); } catch (Exception $e) { $dataErrors['numDocteur'] = $e->getMessage() . "<br/>\n"; } try { $anneeDebut->setAnneeDebut($anneeDebut); } catch (Exception $e) { $dataErrors['anneeDebut'] = $e->getMessage() . "<br/>\n"; } try { $anneeFin->setAnneeDebut($anneeFin); } catch (Exception $e) { $dataErrors['anneeFin'] = $e->getMessage() . "<br/>\n"; } try { $acteur->setActeur($acteur); } catch (Exception $e) { $dataErrors['acteur'] = $e->getMessage() . "<br/>\n"; } try { $expFav->setExpFav($expFav); } catch (Exception $e) { $dataErrors['expFav'] = $e->getMessage() . "<br/>\n"; } return $numDocteur; }
public static function getModelDefaultPersonnage() { $model = new self(array()); $model->personnage = Personnage::getDefaultPersonnage(); $model->title = "Saisie d'un personnage"; return $model; }
public static function getPersonnage(&$dataErrors, $id = null, $numDocteur = null, $anneeDebut = null, $anneeFin = null, $acteur = null, $expFav = null, $descri = null, $urlImage = null) { $perso = Personnage::getDefaultPersonnage(); $dataErrors = array(); try { $perso->setId($id); } catch (Exception $e) { $dataErrors['id'] = $e->getMessage() . "<br/>\n"; } try { $perso->setNumDocteur($numDocteur); } catch (Exception $e) { $dataErrors['numDocteur'] = $e->getMessage() . "<br/>\n"; } try { $perso->setAnneeDebut($anneeDebut); } catch (Exception $e) { $dataErrors['anneeDebut'] = $e->getMessage() . "<br/>\n"; } try { $perso->setAnneeFin($anneeFin); } catch (Exception $e) { $dataErrors['anneeFin'] = $e->getMessage() . "<br/>\n"; } try { $perso->setActeur($acteur); } catch (Exception $e) { $dataErrors['acteur'] = $e->getMessage() . "<br/>\n"; } try { $perso->setExpFav($expFav); } catch (Exception $e) { $dataErrors['expFav'] = $e->getMessage() . "<br/>\n"; } try { $perso->setDescri($descri); } catch (Exception $e) { $dataErrors['descri'] = $e->getMessage() . "<br/>\n"; } try { $perso->setUrlImage($urlImage); } catch (Exception $e) { $dataErrors['urlImage'] = $e->getMessage() . "<br/>\n"; } return $perso; }
$PersonnageType = new PersonnageType($PersonnageTypeManager->get($Personnage->getPersonnageTypeId())); $EvolutionManager = new EvolutionManager($db); //Récuperation de la liste des évolutions correspondant au personnage type $evolutionGetBy = $EvolutionManager->getBy('personnageTypeId', $Personnage->getPersonnageTypeId()); $listeEvolution = array(); if (count($evolutionGetBy) > 0) { foreach ($evolutionGetBy as $evolution) { // Instance de chaque evolution $iEvolution = new Evolution($evolution); // Si l'expérience du personnage est comprise dans la tranche d'evolution if ($iEvolution->getPalierInferieur() <= $Personnage->getExperience() && $iEvolution->getPalierSuperieur() > $Personnage->getExperience()) { $iconePersonnageId = $iEvolution->getIconePersonnageId(); $Personnage->setIconePersonnageId($iconePersonnageId); $PersonnageManager->update_iconepersonnage_personnage($Personnage); //On met à jour le personnage $Personnage = new Personnage($PersonnageManager->get($Personnage->getId())); } } } // Liste des joueurs $listeJoueur = $JoueurManager->getAll(); // Contruction d'une variable selectJoueurs au format d'un optiongroup $selectJoueurs = array(); if (count($listeJoueur) > 0) { foreach ($listeJoueur as $key => $item) { if (!isset($selectJoueurs[$item['roleNom']])) { $selectJoueurs[$item['roleNom']] = array(); } array_push($selectJoueurs[$item['roleNom']], new Joueur($item)); } }
public function __construct($nom, $pv = null, $atk = null, $atkm = null) { parent::__construct($nom, $pv, $atk); $this->atkm = $atkm; }
} // Ceci est la méthode force() : elle se charge de renvoyer le contenu de l'attribut $_force. public function force() { return $this->_force; } // Ceci est la méthode experience() : elle se charge de renvoyer le contenu de l'attribut $_experience. public function experience() { return $this->_experience; } } ?> <?php $perso1 = new Personnage(); // Un premier personnage $perso2 = new Personnage(); // Un second personnage $perso1->setForce(10); $perso1->setExperience(2); $perso2->setForce(90); $perso2->setExperience(58); $perso1->frapper($perso2); // $perso1 frappe $perso2 $perso1->gagnerExperience(); // $perso1 gagne de l'expérience $perso2->frapper($perso1); // $perso2 frappe $perso1 $perso2->gagnerExperience(); // $perso2 gagne de l'expérience
public static function getDefaultFormHTML($action) { return self::getFormHtml($action, Personnage::getDefaultPersonnage()); }
public function deletePersonnage(Personnage $perso) { $this->bdd->exec('DELETE FROM Personnages_v2 WHERE id = ' . $perso->getId()); // execute DELETE request }
public function delete(Personnage $perso) { // Exécute une requête de type DELETE. $this->_db->exec('DELETE FROM personnages WHERE id = ' . $perso->id()); }
/* * require 'classes/Personnage.php'; // Inclure la classe * OU * Fonction auto-chargement de l'ensemble des classes du projet * * La fonction charge toutes les classes nécessaire au projet * si les classes sont placées dans le dossier classes */ function chargerMaClasse($classe) { require 'classes/' . $classe . '.php'; } spl_autoload_register('chargerMaClasse'); //$perso1 = new Personnage(60, 0); // Création de l'objet Personnage - Création d'une instance de la classe Personnage //$perso2 = new Personnage(100, 10); // Création d'un 2ème personnage $perso1 = new Personnage(Personnage::FORCE_MOYENNE, 0); // Création de l'objet personnage gràace à une constante $perso2 = new Personnage(Personnage::FORCE_GRANDE, 10); // Création d'un 2ème personnage //$perso1->setForce(10); //$perso1->setExperience(2); //$perso2->setForce(90); //$perso2->setExperience(58); //$perso1->parler(); // Appel de la méthode test parler() Personnage::parler(); // Appel de la méthode statique parler() echo '<strong>Avant le combat :</strong><br>'; echo 'Le personnage 1 a ' . $perso1->experience() . ' d\'expérience<br>'; echo 'Le personnage 2 a ' . $perso2->experience() . ' d\'expérience<br>'; echo 'Le personnage 1 a ' . $perso1->force() . ' de force et le personnage 2 a ' . $perso2->force() . ' de force.<br>'; echo '<strong>Le combat démarre...</strong><br>';
spl_autoload_register('chargerClasse'); session_start(); if (isset($_GET['deconnexion'])) { session_destroy(); header('Location: .'); exit; } if (isset($_SESSION['perso'])) { $perso = $_SESSION['perso']; } $db = new PDO('mysql:host=localhost;dbname=tp_mini_jeu_de_combat;charset=utf8', 'tp', 'pt', array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION)); $pm = new PersonnageManager($db); if (isset($_POST['nom'])) { $nom = htmlspecialchars($_POST['nom']); if (isset($_POST['creer'])) { if (Personnage::nomValide($nom)) { if ($pm->existe($nom)) { $message = 'Le personnage nommé <em>"' . htmlspecialchars($nom) . '"</em> existe déjà'; } else { $perso = new Personnage(['nom' => $nom]); $pm->ajouterPersonnage($perso); } } else { $message = 'Le nom <em>"' . htmlspecialchars($nom) . '"</em> est invalide'; } } elseif (isset($_POST['utiliser'])) { if ($pm->existe($nom)) { $perso = $pm->selectionnerPersonnage($nom); } else { $message = 'Le personnage <em>"' . htmlspecialchars($nom) . '"</em> n\'existe pas'; }
public function updatePersonnage(Personnage $perso) { $req = $this->db()->prepare('UPDATE Personnage SET nom=:nom, degats=:degats WHERE id=:id;'); $req->bindValue(':nom', $perso->nom(), PDO::PARAM_STR); $req->bindValue(':degats', $perso->degats(), PDO::PARAM_INT); $req->bindValue(':id', $perso->id(), PDO::PARAM_INT); $req->execute(); }
<p>Ci dessous, voici le combat effréné du Prédator vs Dark Vador, pour voir qui va gagner il suffit de scroller en bas de la page</br> ou simplement appuyer sur le boutton ci dessous</p> <p><a class="btn btn-primary btn-large" href="#gagnant">JE VEUX VOIR LE GAGNANT</a> </p> </div> </header> <hr> <div class="container text-center"> <?php require 'personnage.php'; $alien = new Personnage(); //Nouveau Personnage $alien->setLifeLevel(rand(100, 300)); $alien->setStrenght(rand(5, 15)); $darth = new Personnage(); //Nouveau Personnage $darth->setLifeLevel(rand(100, 300)); $darth->setStrenght(rand(5, 15)); $aStrength = $alien->getStrenght(); $aLife = $alien->getLifeLevel(); $dStrength = $darth->getStrenght(); $dLife = $darth->getLifeLevel(); $aCoups = 0; $dCoups = 0; while ($aLife > 0 && $dLife > 0) { if (rand(1, 2) == 1) { $aCoups++; echo "<div class='alert alert-info'>C'est le Prédator qui attaque avec une force de " . $aStrength . "!</div><br/>"; $darth->_looseLife($aStrength); $darth->setLifeLevel($darth->getLifeLevel());
// Insertion du nouveau personnage. if (isset($_POST) && count($_POST) > 0) { if ($FormulaireUniqueId->validate()) { $insert = true; // Si un champ n'a pas été saisie par l'utisateur foreach ($_POST as $key => $value) { if ($value == '') { $insert = false; } } if ($insert) { // Personnagetype avec les données du POST $PersonnageType = new PersonnageType($PersonnageTypeManager->get($_POST['personnageTypeId'])); // Création du personnage avec les données POST // personnageTypeId, nom $Personnage = new Personnage($_POST); // Update des attributs du personnage qui ne sont pas dans le POST $Personnage->setDegat($PersonnageType->getDegat()); $Personnage->setExperience(0); $Personnage->setMouvement($PersonnageType->getMouvement()); $Personnage->setNombreAttaque($PersonnageType->getNombreAttaque()); $Personnage->setPointDeVie($PersonnageType->getPointDeVie()); $Personnage->setPlanId(1); $Personnage->setPointInvestissement(0); $Personnage->setPositionX(1); $Personnage->setPositionY(1); $Personnage->setTourDeJeu(date("Y-m-d H:i:s")); $Personnage->setProchainTourDeJeu(date("Y-m-d H:i:s", strtotime(date("Y-m-d H:i:s")) + "30 seconds")); /*************************** * DEBUT ENREGISTREMENT BDD ***************************/
public function deplacer() { parent::Compteur(); }
<?php //fonction permettant d'appeler automatiquement la classe dont on a besoin. function chargerClasse($classe) { require $classe . '.class.php'; } //demande à PHP de charger automtiquement les classes spl_autoload_register('chargerClasse'); $perso = new Personnage(Personnage::FORCE_GRANDE); $perso->parler();
<?php require 'personnage.php'; $merlin = new Personnage('merlin'); var_dump("<pre>"); // echo($merlin->crier().'\n'); echo $merlin->estMort() . '\\n'; // var_dump($merlin->crier()); var_dump("</pre>");
// On appelle session_start() APRÈS avoir enregistré l'autoload. if (isset($_GET['deconnexion'])) { session_destroy(); header('Location: .'); exit; } $db = new PDO('mysql:host=localhost;dbname=combats', 'root', 'root'); $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING); // On émet une alerte à chaque fois qu'une requête a échoué. $reponse = $db->query('SELECT nom FROM personnages') or die(print_r($bdd->errorInfo())); $manager = new PersonnagesManager($db); if (isset($_SESSION['perso'])) { $perso = $_SESSION['perso']; } if (isset($_POST['creer']) && isset($_POST['nom'])) { $perso = new Personnage(['nom' => $_POST['nom']]); // On crée un nouveau personnage. if (!$perso->nomValide()) { $message = 'Le nom choisi est invalide.'; unset($perso); } elseif ($manager->exists($perso->nom())) { $message = 'Le nom du personnage est déjà pris.'; unset($perso); } else { $manager->add($perso); } } elseif (isset($_POST['utiliser']) && isset($_POST['nom'])) { if ($manager->exists($_POST['nom'])) { $perso = $manager->get($_POST['nom']); } else { $message = 'Ce personnage n\'existe pas !';
public function gagnerExperience() { parent::gagnerExperience(); // appel de la methode gagnerExperience() de la classe parente if ($this->_magie < 100) { $this->_magie += 10; } }
<?php //fonction permettant d'appeler automatiquement la classe dont on a besoin. function chargerClasse($classe) { require $classe . '.class.php'; } //demande à PHP de charger automtiquement les classes spl_autoload_register('chargerClasse'); $perso1 = new Personnage('James', 60, 1); // Un premier personnage $perso2 = new Personnage('Alfred', 100, 10); echo $perso1->force(); echo $perso1->degats(); $perso1->parler(); echo $perso2->force(); echo $perso2->degats(); $perso2->parler();
public function update_iconepersonnage_personnage(Personnage $personnage) { $request = $this->db->prepare(' UPDATE _iconepersonnage_personnage SET iconePersonnageId = :iconePersonnageId WHERE personnageId= :personnageId'); $request->bindValue(':iconePersonnageId', $personnage->getIconePersonnageId()); $request->bindValue(':personnageId', $personnage->getId()); $request->execute(); }
public function seToucher(Personnage $personnage) { if ($this->positionX == $personnage->getPositionX() - 1 && $this->positionY == $personnage->getPositionY() + 1 || $this->positionX == $personnage->getPositionX() - 1 && $this->positionY == $personnage->getPositionY() || $this->positionX == $personnage->getPositionX() - 1 && $this->positionY == $personnage->getPositionY() - 1 || $this->positionX == $personnage->getPositionX() && $this->positionY == $personnage->getPositionY() + 1 || $this->positionX == $personnage->getPositionX() && $this->positionY == $personnage->getPositionY() - 1 || $this->positionX == $personnage->getPositionX() + 1 && $this->positionY == $personnage->getPositionY() + 1 || $this->positionX == $personnage->getPositionX() + 1 && $this->positionY == $personnage->getPositionY() || $this->positionX == $personnage->getPositionX() + 1 && $this->positionY == $personnage->getPositionY() - 1) { return true; } }
$_SESSION['tourDisponible'] = false; } require_once 'jeu.php'; break; case 'selectPersonnage': $_SESSION['ajax'] = true; $_SESSION['personnageCourant'] = $_REQUEST['selectedPersonnage']; require_once 'jeu.php'; break; case 'attaquer': $_SESSION['ajax'] = true; $_SESSION['messageAttaque'] = true; $personnageAttaquerId = $_REQUEST['personnageAttaquerId']; $PersonnageManager = new PersonnageManager($db); $Personnage = new Personnage($PersonnageManager->get($_SESSION['personnageCourant'])); $PersonnageAttaquer = new Personnage($PersonnageManager->get($personnageAttaquerId)); $_SESSION['personnage'] = $Personnage; $_SESSION['personnageAttaquer'] = $PersonnageAttaquer; $seToucher = false; $_SESSION['seToucher'] = $seToucher; $nombreAttaqueDisponible = true; $_SESSION['nombreAttaqueDisponible'] = $nombreAttaqueDisponible; if ($PersonnageAttaquer->seToucher($Personnage)) { $seToucher = true; $_SESSION['seToucher'] = $seToucher; if ($Personnage->tourDisponible()) { $_SESSION['tourDisponible'] = true; if ($Personnage->getNombreAttaque() <= 0) { $nombreAttaqueDisponible = false; $_SESSION['nombreAttaqueDisponible'] = $nombreAttaqueDisponible; } else {