Ajoute la foret de if qui permet de gérer la race du joueur pour le chantier terrestre

This commit is contained in:
Nigel Sheldon 2020-11-26 09:43:07 +01:00
parent 04b5e6af76
commit 54afd20cd8
2 changed files with 467 additions and 389 deletions

View File

@ -5,69 +5,81 @@ class dTerrestre implements Donnees
{ {
public static function metal($id, $nombre, surface $planete) public static function metal($id, $nombre, surface $planete)
{ {
if ($planete->race == "humain") {
switch ($id) { switch ($id) {
case 0: case 0:
$cristal = 300; $metal = 300;
break; break;
case 1: case 1:
$cristal = 420; $metal = 420;
break; break;
case 2: case 2:
$cristal = 600; $metal = 600;
break; break;
case 3: case 3:
$cristal = 950; $metal = 950;
break; break;
case 4: case 4:
$cristal = 240; $metal = 240;
break; break;
case 5: case 5:
$cristal = 260; $metal = 260;
break; break;
case 6: case 6:
$cristal = 420; $metal = 420;
break; break;
case 7: case 7:
$cristal = 500; $metal = 500;
break; break;
case 8: case 8:
$cristal = 230; $metal = 230;
break; break;
case 9: case 9:
$cristal = 650; $metal = 650;
break; break;
case 10: case 10:
$cristal = 1750; $metal = 1750;
break; break;
case 11: case 11:
$cristal = 3750; $metal = 3750;
break; break;
case 12: case 12:
$cristal = 9500; $metal = 9500;
break; break;
case 13: case 13:
$cristal = 9500; $metal = 9500;
break; break;
case 14: case 14:
$cristal = 9500; $metal = 9500;
break; break;
case 15: case 15:
$cristal = 9500; $metal = 9500;
break; break;
default: default:
trigger_error("Unité ".$unite." introuvable dans les données", E_USER_ERROR); trigger_error("Unité ".$id." introuvable dans les données", E_USER_ERROR);
}
} else {
// Covenant
switch ($id) {
case 0:
$metal = 300;
break;
default:
trigger_error("Unité ".$id." introuvable dans les données", E_USER_ERROR);
}
} }
//On tient compte des bonus //On tient compte des bonus
if (isset($planete->politique) && $planete->politique == 1) { if (isset($planete->politique) && $planete->politique == 1) {
$cristal *= 0.9; $metal *= 0.9;
} }
return $cristal * $nombre; return $metal * $nombre;
} }
public static function cristal($id, $nombre, surface $planete) public static function cristal($id, $nombre, surface $planete)
{ {
if ($planete->race == "humain") {
switch ($id) { switch ($id) {
case 0: case 0:
$cristal = 300; $cristal = 300;
@ -120,7 +132,16 @@ class dTerrestre implements Donnees
default: default:
trigger_error("Unité ".$id." introuvable dans les données", E_USER_ERROR); trigger_error("Unité ".$id." introuvable dans les données", E_USER_ERROR);
} }
} else {
// Covenant
switch ($id) {
case 0:
$cristal = 300;
break;
default:
trigger_error("Unité ".$id." introuvable dans les données", E_USER_ERROR);
}
}
//On tient compte des bonus //On tient compte des bonus
if (isset($planete->politique) && $planete->politique == 1) { if (isset($planete->politique) && $planete->politique == 1) {
$cristal *= 0.9; $cristal *= 0.9;
@ -131,6 +152,7 @@ class dTerrestre implements Donnees
public static function hydrogene($id, $nombre, surface $planete) public static function hydrogene($id, $nombre, surface $planete)
{ {
if ($planete->race == "humain") {
switch ($id) { switch ($id) {
case 0: case 0:
$hydrogene = 0; $hydrogene = 0;
@ -183,6 +205,16 @@ class dTerrestre implements Donnees
default: default:
trigger_error("Unité ".$id." introuvable dans les données", E_USER_ERROR); trigger_error("Unité ".$id." introuvable dans les données", E_USER_ERROR);
} }
} else {
// Covenant
switch ($id) {
case 0:
$hydrogene = 0;
break;
default:
trigger_error("Unité ".$id." introuvable dans les données", E_USER_ERROR);
}
}
//On tient compte des bonus //On tient compte des bonus
if (isset($planete->politique) && $planete->politique == 1) { if (isset($planete->politique) && $planete->politique == 1) {
@ -199,6 +231,7 @@ class dTerrestre implements Donnees
public static function temps($id, $nombre, surface $planete) public static function temps($id, $nombre, surface $planete)
{ {
if ($planete->race == "humain") {
switch ($id) { switch ($id) {
case 0: case 0:
$temps = 720; $temps = 720;
@ -267,7 +300,17 @@ class dTerrestre implements Donnees
default: default:
trigger_error("Unité ".$id." introuvable dans les données", E_USER_ERROR); trigger_error("Unité ".$id." introuvable dans les données", E_USER_ERROR);
} }
} else {
// Covenant
switch ($id) {
case 0:
$temps = 0;
$moins = 9;
break;
default:
trigger_error("Unité ".$id." introuvable dans les données", E_USER_ERROR);
}
}
//On tient compte de la vitesse //On tient compte de la vitesse
$temps /= VITESSE; $temps /= VITESSE;
@ -275,8 +318,33 @@ class dTerrestre implements Donnees
return ceil($temps/pow(1.25, ($planete->batiments[7] - $moins))) * $nombre; return ceil($temps/pow(1.25, ($planete->batiments[7] - $moins))) * $nombre;
} }
public static function type($id) public static function type($id, surface $planete)
{ {
if ($planete->race == "humain") {
switch ($id) {
case 0:
case 1:
case 2:
case 3:
case 4:
case 5:
case 6:
case 7:
return true;
case 8:
case 9:
case 10:
case 11:
case 12:
case 13:
case 14:
case 15:
return false;
default:
trigger_error("Unité ".$id." introuvable dans les données", E_USER_ERROR);
}
} else {
// Covenant
switch ($id) { switch ($id) {
case 0: case 0:
case 1: case 1:
@ -300,11 +368,55 @@ class dTerrestre implements Donnees
trigger_error("Unité ".$id." introuvable dans les données", E_USER_ERROR); trigger_error("Unité ".$id." introuvable dans les données", E_USER_ERROR);
} }
} }
}
public static function image($id, surface $planete) public static function image($id, surface $planete)
{ {
if ($planete->race == "covenant") { if ($planete->race == "humain") {
switch ($id) {
//Unités terrestres
case 0:
return "csnusparrowhawkkp4.jpg";
break;
case 1:
return "pelican.jpg";
break;
case 2:
return "csnushortswordad3.jpg";
break;
case 3:
return "albatross.jpg";
break;
case 4:
return "warthog-vrl.jpg";
break;
case 5:
return "M12G1_LAAV_Warthog.jpg";
break;
case 6:
return "M12A1_LAAV_Warthog.jpg";
break;
case 7:
return "scorpionN.jpg";
break;
//Défenses
case 8:
//return "";
break;
case 9:
//return "";
break;
case 10:
//return "";
break;
case 11:
//return "";
break;
}
return Donnees::image_humain_default;
} elseif ($planete->race == "convenant") {
switch ($id) { switch ($id) {
//Unités terrestres //Unités terrestres
case 0: case 0:
@ -350,49 +462,6 @@ class dTerrestre implements Donnees
break; break;
} }
return Donnees::image_covenant_default; return Donnees::image_covenant_default;
} elseif ($planete->race == "humain") {
switch ($id) {
//Unités terrestres
case 0:
return "csnusparrowhawkkp4.jpg";
break;
case 1:
return "pelican.jpg";
break;
case 2:
return "csnushortswordad3.jpg";
break;
case 3:
return "albatross.jpg";
break;
case 4:
return "warthog-vrl.jpg";
break;
case 5:
return "M12G1_LAAV_Warthog.jpg";
break;
case 6:
return "M12A1_LAAV_Warthog.jpg";
break;
case 7:
return "scorpionN.jpg";
break;
//Défenses
case 8:
//return "";
break;
case 9:
//return "";
break;
case 10:
//return "";
break;
case 11:
//return "";
break;
}
return Donnees::image_humain_default;
} else { } else {
trigger_error("Impossible de trouver la race pour ".$planete->race, E_USER_ERROR); trigger_error("Impossible de trouver la race pour ".$planete->race, E_USER_ERROR);
} }
@ -401,6 +470,7 @@ class dTerrestre implements Donnees
public static function needed($id, surface $planete, $print = false) public static function needed($id, surface $planete, $print = false)
{ {
if ($planete->race == "humain") {
$neededTerrestre = array( $neededTerrestre = array(
array( array(
array('batiments', 7, 1) array('batiments', 7, 1)
@ -460,6 +530,14 @@ class dTerrestre implements Donnees
array('technologies', 7, 11) array('technologies', 7, 11)
) )
); );
} else {
// Covenant
$neededTerrestre = array(
array(
array('batiments', 7, 1)
)
);
}
if ($print) { if ($print) {
return dDonnees::print_neededCheck($neededTerrestre[$id], $planete); return dDonnees::print_neededCheck($neededTerrestre[$id], $planete);

View File

@ -41,7 +41,7 @@ if (isset($_GET['a']) && isset($_GET['b'])) {
$TEMP_liste = array(); $TEMP_liste = array();
foreach ($planete->terrestres as $i => $nombre) { foreach ($planete->terrestres as $i => $nombre) {
$type = dTerrestre::type($i); $type = dTerrestre::type($i, $planete);
if (!empty($LANG[$planete->race]['terrestre']['noms_sing'][$i]) && (($onglet == "defenses" && !$type) || ($onglet != "defenses" && $type)) && dTerrestre::needed($i, $planete)) { if (!empty($LANG[$planete->race]['terrestre']['noms_sing'][$i]) && (($onglet == "defenses" && !$type) || ($onglet != "defenses" && $type)) && dTerrestre::needed($i, $planete)) {
$TEMP_liste[] = array( $TEMP_liste[] = array(