1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148
|
<?php
include("Capacite.class.php");
include("ListeEquipement.class.php");
abstract class Personnage{// On considere qu'un personnage regroupe les PJ et PNJ
public $id;
public $nom;
public $force;
public $adresse;
public $resistance;
public $niveau;
public $experience;
public $case;
public $ptsVieMax;
public $ptsVie;
public $listeEquipement;
public $capacite;
public $ptsAction;
public function __construct(){
$connexion=mysql_connect("","","") or die("erreur connexion");
mysql_select_db("") or die("erreur base");
if(func_num_args()==1){ //On construit notre personnage a partir d'un personnage deja existant
$this->$id=func_get_arg(0);
$requete='SELECT * from personnage where id=\''.$id.'\';';
$select=mysql_fetch_array(mysql_query($select));
$this->nom=$select[1];
$this->force=$select[2];
$this->adresse=$select[3];
$this->resistance=$select[4];
$this->niveau=$select[5];
$this->experience=$select[6];
$this->capacite=new Capacite($id);//On initialise les capacités grâce à l'id
$thise->case=$select[7];
$this->listeEquipement=new ListeEquipement($id);//Idem
$this->ptsVieMax=$this->force+$this->adresse+$this->resistance;//Les points de vie sont l'addition de toutes les caracteristiques
$this->ptsVie=$select[8];
$this->ptsAction=$select[9];
}
else if(func_num_args()==7){//Creation d'un nouveau personnage
$this->nom=func_get_args(0);
$this->force=func_get_args(1);
$this->adresse=func_get_args(2);
$this->resistance=func_get_args(3);
$this->niveau=func_get_args(4);
$this->experience=func_get_args(5);
$this->case=func_get_args(6);
$this->ptsVieMax=$this->force+$this->adresse+$this->resistance;//Les points de vie sont l'addition de toutes les caracteristiques
$this->ptsVie=$this->ptsVieMax;
$this->ptsAction=12;
$requete='insert into personnage(nom,force,adresse,resistance,niveau,experience,case,ptsAction) values(\''.$this->nom.'\','.$this->force.','.$this->adresse.','.$this->resistance.','.$this->niveau.','.$this->experience.','.$this->case.','.$this->ptsVie.','.$this->ptsAction.');';
$requete='select id from personnage where nom=\''.$this->nom.'\';';
$select=mysql_query($requete);
$select=mysql_fetch_array($select);
$this->id=$select;
// $this->capacite=new Capacite($this->id,$this->adresse,$this->resistance,$this->force);//Lorsque l'on crée un nouveau personnage, il n'a aucun bonus équipement etant donne qu'on considere qu'il est a poil
// $this->listeEquipement=new ListeEquipement($id);
}
else
throw new Exception("erreur d'argument");
}
public function __destruct(){//Lors de la supression d'un personnage
unset($this->nom);
unset($this->force);
unset($this->adresse);
unset($this->resistance);
unset($this->niveau);
unset($this->experience);
unset($this->case);
unset($this->ptsVie);
$this->capacite->__destruct();
$this->listeEquipement->__destruct();
unset($this->listeEquipement);
unset($this->capacite);
unset($this->id);
}
public function attaquer(){//On calcules les valeurs en fonction du niveau des capacités
$attaque=Combat::calculDes($this->capacite->attaque);
$degats=Combat::calculDes($this->capacite->degats);
return array($attaque,$degats);
}
public function defendre(){//Idem
$esquive=Combat::calculDes($this->capacite->esquive);
$defense=Combat::calculDes($this->capacite->defense);
return array($esquive,$defense);
}
public function laisserTomberObjet($c){
$c->setObjet=new ListeEquipement($this->getListeEquipement());//On Laisse tomber les objet sur la carte
unset($this->getListeEquipement());
}
public function diminuerPV($n){
$this->pointsVie-=$n;
}
public abstract function seDeplacer($carte);
public function getId(){
return $this->id;
}
public function getNom(){
return $this->nom;
}
public function getForce(){
return $this->force;
}
public function getAdresse(){
return $this->adresse;
}
public function getResistance(){
return $this->resistance;
}
public function getNiveau(){
return $this->niveau;
}
public function getExperience(){
return $this->experience;
}
public function getCase(){
return $this->case;
}
public function getPtsVie(){
return $this->ptsVie;
}
public function getPtsAction(){
return $this->ptsAction;
}
public function setPtsAction($arg){//les pts d'action seront reaccorder ts les x temps
$this->ptsAction+=$arg;
}
}
?> |
Partager