Bonjour a tous,
Je rencontre un soucis un peu bizarre sur l'un de mes scripts, les valeurs retournées fonctionnent....mais pas toujours !
Voici un exemple de résultat retourné par le script qui ne "colle" pas :
================================
Paul est a 1 ordonnee et est a 3 abcisse
Jean est a 1 ordonnee et est a 3 abcisse
interaction entre les objets
Rien de special
interaction avec la carte
Jean se gele Il fait froid ici, une tempete de glace
==================
Alors que la tempete de glace est en 1,1...
voici mon main.php
Le fichier case_de_jeu.class.php
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 <?php //inclure les classes dans le fichier include('colon.class.php'); include('case_de_jeu.class.php'); $Jean = new colon("Jean",rand(1,3),rand(1,3)); $Paul = new colon("Paul",rand(1,3),rand(1,3)); $blizard = new case_de_jeu("Il fait froid ici, une tempete de glace",1,1); $desert = new case_de_jeu("Il fait trop chaud ici c'est un desert",3,3); echo "".$Paul->getcolon_nom()." est a ".$Paul->getcolon_y()." ordonnee et est a ".$Paul->getcolon_x()." abcisse <br />"; echo "".$Jean->getcolon_nom()." est a ".$Jean->getcolon_y()." ordonnee et est a ".$Paul->getcolon_x()." abcisse <br /><br />"; echo '<b>interaction entre les objets</b><br>'; if ($Paul->getcolon_y()=== $Jean->getcolon_y() && $Paul->getcolon_x()=== $Jean->getcolon_x()) {echo "".$Paul->getcolon_nom()." croise ".$Jean->getcolon_nom()." <br />";} else { echo 'Rien de special<br>'; } echo '<b>interaction avec la carte</b><br>'; if ($Paul->getcolon_y() === $blizard->getcase_y() && $Paul->getcolon_x()=== $blizard->getcase_x()) {echo "".$Paul->getcolon_nom()." se gele ".$blizard->getcase_nom()." <br />";} if ($Paul->getcolon_y() === $desert->getcase_y() && $Paul->getcolon_x()=== $desert->getcase_x()) {echo "".$Paul->getcolon_nom()." a trop chaud ".$desert->getcase_nom()." <br />";} if ($Jean->getcolon_y() === $blizard->getcase_y() && $Jean->getcolon_x()=== $blizard->getcase_x()) {echo "".$Jean->getcolon_nom()." se gele ".$blizard->getcase_nom()." <br />";} if ($Jean->getcolon_y() === $desert->getcase_y() && $Jean->getcolon_x()=== $desert->getcase_x()) {echo "".$Jean->getcolon_nom()." a trop chaud ".$desert->getcase_nom()." <br />";} ?>
Le fichier colon.class.php :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 <?php class case_de_jeu { public $case_nom = ""; public $case_x = ""; public $case_y = ""; // le constructeur public function __construct ($case_nom, $case_x, $case_y) { $this->case_nom= $case_nom; $this->case_x= $case_x; $this->case_y= $case_y; } //accesseurs public function getcase_nom() { return $this->case_nom; } public function getcase_x() { return $this->case_x; } public function getcase_y() { return $this->case_y; } public function setcase_nom() { return $this->case_nom =$case_nom; } public function setcase_x() { return $this->case_x =$case_x; } public function setcase_y() { return $this->case_y =$case_y; } // méthodes /* public function perdreforce() { $this->force = $this->force - 1; } */ // public function deplacement_aleatoire(case_de_jeu $case) // { // $case->case_x = $case->case_x+1; // } // public function bagarre_case(case $case_frappé, $case_frappeur) // {$case->case_x = $case_frappé->force - 1; // $case_frappeur->moral = $case_frappeur->moral + 1; // } // public function prendre_potion_force(case $case1) // { // $this->force = $this->force + 1; // echo "gloup gloup gloup"; // } } ?>
Je soupçonne un soucis de pointeur et d'allocation de la zone mémoire...ais-je bon ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 <?php class colon { public $colon_nom = ""; public $colon_x = ""; public $colon_y = ""; // le constructeur public function __construct ($colon_nom, $colon_x, $colon_y) { $this->colon_nom= $colon_nom; $this->colon_x= $colon_x; $this->colon_y= $colon_y; } //accesseurs public function getcolon_nom() { return $this->colon_nom; } public function getcolon_x() { return $this->colon_x; } public function getcolon_y() { return $this->colon_y; } public function setcolon_nom() { return $this->colon_nom =$colon_nom; } public function setcolon_x() { return $this->colon_x =$colon_x; } public function setcolon_y() { return $this->colon_y =$colon_y; } // méthodes /* public function perdreforce() { $this->force = $this->force - 1; } */ public function deplacement_aleatoire(colon $colon) { $colon->colon_x = $colon->colon_x+1; } // public function bagarre_colon(colon $colon_frappé, $colon_frappeur) // {$colon->colon_x = $colon_frappé->force - 1; // $colon_frappeur->moral = $colon_frappeur->moral + 1; // } // public function prendre_potion_force(colon $colon1) // { // $this->force = $this->force + 1; // echo "gloup gloup gloup"; // } } ?>







Répondre avec citation
Partager