fraichor
Messages postés11Date d'inscriptionjeudi 11 juin 2009StatutMembreDernière intervention31 mars 2010
-
15 juil. 2009 à 15:18
cs_TropNul
Messages postés340Date d'inscriptiondimanche 18 septembre 2005StatutMembreDernière intervention22 octobre 2009
-
19 juil. 2009 à 06:20
j ai un probleme bidon ! mon code n a aucune erreur mais la compilation ne donne pas le resultat attendu. un sauveur pourrait m expliquer pk "punch1" n est pas affiché. voici le code:
"echo $yan->moves[0]->name; ne donne rien"
<?php
echo "hallo";
class move{
var $name;
var $speed;
var $destroy;
var $art;
function move($n,$s,$d)
{
$this->name=$n;
$this->speed=$s;
$this->destroy=$d;
}
}
$mov=new move("punch1",6,3);
$mov2=new move("punch2",4,5);
$mov3=new move("punch3",2,7);
$mov4=new move("punch4",3,6);
$mov5=new move("punch5",8,4);
$mov6=new move("punch6",2,7);
$mov7=new move("punch7",5,6);
$mov8=new move("punch8",7,1);
$mov9=new move("punch9",4,4);
$mov10=new move("punch10",3,5);
$mov11=new move("punch11",7,5);
$mov12=new move("punch12",8,3);
$mov13=new move("punch13",7,7);
$mov14=new move("punch14",2,8);
//prise du lutteur
class finishmove extends move
{
var $ko;
var $submission;
var $taunt;
}
// prise de finition du lutteur
class superstar
{
var $firstname;
var $name;
var $starname;
var $weight;
var $title;
var $job;
var $speed;
var $charisma;
var $resistance;
var $defensiv;
var $attack;
var $handpower;
var $footpower;
var $moves;
var $finishmoves;
var $contract;
var $fitness;
var $money;
var $prestige;
function superstar($fn,$n,$sn){
$this->firstname=$fn;
$this->name=$n;
$this->starname=$sn;
$this->moves=array($mov,$mov2);
}
}
$yan=new superstar("Yuri","Yagami","Vampire");
$yan2=new superstar("Billy","Kane","Devil");
$yan3=new superstar("Big","DIG","Baboo");
$yan4=new superstar("Bull","Pressu","Serum");
$yan5=new superstar("Randy","Bottom","Crazy");
$yan6=new superstar("Kantin","McDanan","Burgody");
$yan7=new superstar("Sod","Barezy","Terror");
$yan8=new superstar("Roger","Miller","Goal");
$yan9=new superstar("Chris","Oshi","Charism");
$yan10=new superstar("Leo","Bildanovan","Fairness");
$yan11=new superstar("Jack","Meyer","TheWinner");
$yan12=new superstar("Kuri","Marto","Hit");
$yan13=new superstar("Paul","zezerini","badboy");
$yan14=new superstar("Koro","wall","Soldier");
$yan15=new superstar("Nicki","Pry","lovy");
echo $yan->name;
echo $yan->moves[0]->name;
// le lutteur
class show
{
var $gm;
var $rooster;//les lutteurs du show
var $soiree;//les matchs du show
var $carte;//un des matchs du show constitués de 2 á 6 lutteurs
var $name;//nom du show
var $noteshow;//note du show enfin de l ensemble des shows
var $cartedujour;//meilleur carte du show
}
?>
fraichor
Messages postés11Date d'inscriptionjeudi 11 juin 2009StatutMembreDernière intervention31 mars 2010 16 juil. 2009 à 19:23
en ajoutant les [] a moves une erreur est produite :
Parse error: syntax error, unexpected '[', expecting ',' or ';' in
$mov et $mov2 sont des objets de la classe move crees plus haut.l objet superstar devrait avoir un nombre d objets move comme membre. alors je ve creer moves une table contenant ces objets de la classe move .
cool qu il y ait deja une reaction merci d avance
cs_TropNul
Messages postés340Date d'inscriptiondimanche 18 septembre 2005StatutMembreDernière intervention22 octobre 2009 17 juil. 2009 à 05:37
Pour la déclaration en tant que tableau, je préconisais la syntaxe suivante :
<?php var moves = array(); ?>
Et pour le problème que tu rencontres, il semblerait que tu ne peux simplement pas avoir accès à une propriété d'une autre classe à partir d'une classe qui n'a aucun rapport avec la première. Pourquoi ne pas utiliser l'héritage de classe ?
Cordialement
Vous n’avez pas trouvé la réponse que vous recherchez ?
fraichor
Messages postés11Date d'inscriptionjeudi 11 juin 2009StatutMembreDernière intervention31 mars 2010 17 juil. 2009 à 13:43
Peut etre devrais je un peu plus expliquer. les deux classes importantes sont move et superstar. un objet superstar est sense avoir une liste d objets move par defaut ainsi j ajoute un membre $moves a la classe superstar ki est une table "array" contenant l ensemble des objets move qu a l objet superstar.
j attends ton test . ce forum est rentable grace a des gars comm toi
cs_TropNul
Messages postés340Date d'inscriptiondimanche 18 septembre 2005StatutMembreDernière intervention22 octobre 2009 17 juil. 2009 à 19:54
Bonsoir,
Après quelques tests, ce que je disais plus tôt s'est confirmé. J'ai donc fait comme ceci. Et cela fonctionne comme voulu, je pense.
<?php
class move{
var $name;
var $speed;
var $destroy;
function move($n,$s,$d) {
$this->name=$n;
$this->speed=$s;
$this->destroy=$d;
}
}
/*
* Les deux instances suivantes de la classe move
* ne seront pas accessibles à l'intérieur de la classe superstar
*/
$mov=new move("punch1",6,3);
$mov2=new move("punch2",4,5);
class superstar {
var $firstname;
var $name;
var $starname;
var $moves = array();
function superstar($fn,$n,$sn) {
$this->firstname=$fn;
$this->name=$n;
$this->starname=$sn;
}
}
$yan=new superstar("Yuri","Yagami","Vampire");
/*
* On affecte donc le tableau moves directement ici
*/
$yan->moves[0] = $mov;
$yan->moves[1] = $mov2;
echo $yan->name.'
';
echo $yan->moves[0]->name.'
';
?>
fraichor
Messages postés11Date d'inscriptionjeudi 11 juin 2009StatutMembreDernière intervention31 mars 2010 18 juil. 2009 à 00:37
mille fois merci
s il m etait possible de t offrir une bier vive les forums. je continue donc dans cette lancee. des ke j ai un PB je fais signe.
nach mal Danke!