bonjour,
voila j'ai créer un code pour un jeu, il permet de calculer
la distance et le temps

j'utilise 2 fonction qui sont propre au jeu pour réalisé cette opération mais j'en est une ( la plus importante ) celle qui me donne le temps me sort 2 erreur voir ci dessous

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
 
duration :
( ! ) Notice: Undefined variable: Distance in C:\wamp\www\Outils-MX\calculateur2.php on line 153
Call Stack
#	Time	Memory	Function	Location
1	0.0007	255688	{main}( )	..\index4.php:0
2	0.0021	299400	include( 'C:\wamp\www\Outils-MX\calculateur2.php' )	..\index4.php:6
 
( ! ) Warning: Division by zero in C:\wamp\www\Outils-MX\calculateur2.php on line 146
Call Stack
#	Time	Memory	Function	Location
1	0.0007	255688	{main}( )	..\index4.php:0
2	0.0021	299400	include( 'C:\wamp\www\Outils-MX\calculateur2.php' )	..\index4.php:6
3	0.0023	301992	GetMissionDuration( )	..\calculateur2.php:153
1
a titre informatif je recoi les donnee utile pour ces calcul via un formulaire de sélection qui m’envoie bien les donnée que je souhaite du coup je ne comprend pas d'où cela peu venir
je sais que la division par zero viens d'une variable vide "$Distance"
et l'autre erreur viens d'une variable qui n'est pas définie dans la page "$Distance"
pour tant elle sont toutes ces erreur ne devrais être puisque il y a une fonction qui les définie et de plus n'est pas vide a l'origine
si quelqu'un pouvez m'aider svp je l'en remercie d'avance

voila le code complet de la page :

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
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
149
150
151
152
153
154
155
156
 
<?php
//deplacement de flotte
	$OrigGalaxy = $_POST['OrigGalaxy'];
	$DestGalaxy = $_POST['DestGalaxy'];
	$OrigSystem = $_POST['OrigSystem'];
	$DestSystem = $_POST['DestSystem'];
	$OrigPlanet = $_POST['OrigPlanet'];
	$DestPlanet = $_POST['DestPlanet'];
 
// technologie
	$combustion = $_POST['combustion'];
	$propulsion = $_POST['propulsion'];
	$impulsion = $_POST['impulsion'];
 
//temps de vol
	$depart = $_POST['depart'];
	$tmp_restant = $_POST['tmp_restant'];
 
// vaiseaux le plus lent selectionner par fomulaire
	$vaisseaux = $_POST['vaisseaux'];
 
//selection du calcul par rapport au vaisseaux selectionner
		switch( $vaisseaux ) 
		{	
			case 'PT':
				$PT = (10000*10/100)*$_POST['impulsion']+10000;
				$result = $PT;
				break;
			case 'GT':
				$GT = (7500*10/100)*$_POST['combustion']+7500;
				$result = $GT;
				break;
			case 'Chasseur_leger':
				$Chasseur_leger = (12500*10/100)*$_POST['combustion']+12500;
				$result = $Chasseur_leger;
				break;
			case 'Chasseur_lourd':
				$Chasseur_lourd = (10000*20/100)*$_POST['impulsion']+10000;
				$result = $Chasseur_lourd;
				break;
			case 'Croiseur':
				$Croiseur = (15000*20/100)*$_POST['impulsion']+15000;
				$result = $Croiseur;
				break;
			case 'VB':
				$VB = (10000*30/100)*$_POST['propulsion']+10000;
				$result = $VB;
				break;
			case 'Colo':
				$Colo = (2500*20/100)*$_POST['impulsion']+2500;
				$result = $Colo;
				break;
			case 'Recycleur':
				$Recyleur = (2000*10/100)*$_POST['combustion']+2000;
				$result = $Recycleur;
				break;
			case 'Sonde':
				$Sonde = (100000000*10/100)*$_POST['combustion']+100000000;
				$result = $Sonde;
				break;
			case 'Bomb':
				$Bomb = (5000*30/100)*$_POST['propulsion']+5000;
				$result = $Bomb;
				break;
			case 'Destro':
				$Destro = (5000*30/100)*$_POST['propulsion']+5000;
				$result = $Destro;
				break;
			case 'Rip':
				$Rip = (100*30/100)*$_POST['propulsion']+100;
				$result = $Rip;
				break;
			case 'Traquos':
				$Traquos = (10000*30/100)*$_POST['propulsion']+10000;
				$result = $Traquos;
				break;
			case 'Supernova':
				$Supernova = (300*30/100)*$_POST['propulsion']+300;
				$result = $Supernova;
				break;
			case 'Attack':
				$Attack = (5000*30/100)*$_POST['propulsion']+5000;
				$result = $Attack;
				break;
			case 'Dart':
				$Dart = (2000*30/100)*$_POST['propulsion']+2000;
				$result = $Dart;
				break;
			case 'C_rep':
				$C_rep = (150*30/100)*$_POST['propulsion']+150;
				$result = $C_rep;
				break;
			case 'Explorateur':
				$Explorateur = 40;
				$result = $Explorateur;
				break;
			case 'Cite':
				$Cite = (100*30/100)*$_POST['propulsion']+100;
				$result = $Cite;
				break;
			case 'Extracteur':
				$Extracteur = (10000*20/100)*$_POST['impulsion']+10000;
				$result = $Extracteur;
				break;
			case 'Jumper':
				$Jumper = (10500*30/100)*$_POST['propulsion']+10500;
				$result = $Jumper;
				break;
	default: 
		echo 'une erreur est arriver lors du calcul merci de recommencer, si le probleme persiste contacter l\'admin du site';
			}
 
echo 'og :'.$OrigGalaxy.'<br>dg :' .$DestGalaxy.'<br>os :' .$OrigSystem.'<br>ds :' .$DestSystem.'<br>op :' .$OrigPlanet.'<br>dp :' .$DestPlanet.'<br>';
echo 'comb :'.$combustion.'<br>prop :' .$propulsion.'<br>imp :' .$impulsion.'<br>dep :' .$depart.'<br>tmp rest :' .$tmp_restant.'<br>vaisseaux :' .$vaisseaux.'';
 
// calcul de distance
function GetTargetDistance ($OrigGalaxy, $DestGalaxy, $OrigSystem, $DestSystem, $OrigPlanet, $DestPlanet)
 
{
    $Distance = 0;
 
    if (($OrigGalaxy - $DestGalaxy) != 0)
        $Distance = abs($OrigGalaxy - $DestGalaxy) * 20000;
    elseif (($OrigSystem - $DestSystem) != 0)
        $Distance = abs($OrigSystem - $DestSystem) * 5 * 19 + 2700;
    elseif (($OrigPlanet - $DestPlanet) != 0)
        $Distance = abs($OrigPlanet - $DestPlanet) * 5 + 1000;
    else
        $Distance = 5;
 
    return $Distance;
 
} 
 
// vitesse du joueur
$GameSpeed = 100;
$MaxFleetSpeed = $result;
$SpeedFactor = $MaxFleetSpeed/2500;
 
//resultat final en temps a donnee a l'utilisateur
//$temps*=*round(((35000*/*$GameSpeed***sqrt($Distance***10*/*$MaxFleetSpeed)*+*10)*/*$SpeedFactor));
 
function GetMissionDuration ($GameSpeed, $MaxFleetSpeed, $Distance, $SpeedFactor)
{
    //$Duration = 0;
    $Duration = round(((35000 / $GameSpeed * sqrt($Distance * 10 / $MaxFleetSpeed) + 10) / $SpeedFactor));
    return $Duration;
} 
 
echo '<br>'.$GameSpeed.'<br>' .$MaxFleetSpeed.'<br> '.$SpeedFactor.'<br> distance :';
echo GetTargetDistance($OrigGalaxy, $DestGalaxy, $OrigSystem, $DestSystem, $OrigPlanet, $DestPlanet);
echo '<br>&nbsp;<br> duration :';
echo GetMissionDuration($GameSpeed, $Distance, $MaxFleetSpeed, $SpeedFactor);
//echo '<br>' . $temps;
?>