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;
 }
Exemple #11
0
 $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));
     }
 }
Exemple #12
0
 public function __construct($nom, $pv = null, $atk = null, $atkm = null)
 {
     parent::__construct($nom, $pv, $atk);
     $this->atkm = $atkm;
 }
Exemple #13
0
    }
    // 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());
 }
Exemple #17
0
/*
 * 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();
 }
Exemple #20
0
            <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
              ***************************/
Exemple #22
0
 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();
Exemple #24
0
<?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>");
Exemple #25
0
// 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 !';
Exemple #26
0
 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;
     }
 }
Exemple #30
0
         $_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 {