division par zero et variable indefini en erreur
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:
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:
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> <br> duration :';
echo GetMissionDuration($GameSpeed, $Distance, $MaxFleetSpeed, $SpeedFactor);
//echo '<br>' . $temps;
?> |