Commit 1428aee5 authored by etienne912's avatar etienne912
Browse files

correction de bugs, optimisations multiples et ajout de PHPDoc

parent 868ec1a5
#Mini projet php Jeu du bridges
##Contributeurs
BOURNAZEL Johann
BOURNAZEL Johann (johann.bournazl@etu.univ-nantes.fr)
LECRIVAIN Etienne
LECRIVAIN Etienne (etienne.lecrivain@etu.univ-nantes.fr)
##licence
[GNU AGPLv3](https://choosealicense.com/licenses/agpl-3.0/)
\ No newline at end of file
......@@ -30,10 +30,12 @@ class ControleurJeu {
* @param $actMauvY int l'ordonnée d'une ville qui aurait été séléctionne mais qui n'aurait pas été valide
*/
function jeu($actX, $actY, $actMauvX, $actMauvY) {
$actX = isset($actX) ? $actX :-1;
$actY = isset($actY) ? $actY :-1;
$actMauvX = isset($actMauvX) ? $actMauvX :-1;
$actMauvY = isset($actMauvY) ? $actMauvY :-1;
$actX = $this->testInput($actX) ? $actX :-1;
// je pars du principe que dans le code, je vérifie le coupe de valeurs x et y
// si le x n'existe pas, le y sera forcement a -1
$actY = $this->testInput($actY) && $this->villes->existe($actX,$actY) ? $actY :-1;
$actMauvX = $this->testInput($actMauvX) ? $actMauvX :-1;
$actMauvY = $this->testInput($actMauvY) && $this->villes->existe($actMauvX,$actMauvY) ? $actMauvY :-1;
$this->vue->afficherJeu($this->villes, $actX, $actY, $actMauvX, $actMauvY);
}
......@@ -59,15 +61,25 @@ class ControleurJeu {
* @param $villeBY int la valeur en ordonnée de la villeB
*/
function lier($villeAX, $villeAY, $villeBX, $villeBY) {
// on ajoute d'abord l'état actuel dans la pile des états précédents
array_push($this->villes_old, $this->villes);
$_SESSION["villes_old"] = serialize($this->villes_old); // on l'enregistre
$this->villes->lierVilles($villeAX, $villeAY, $villeBX, $villeBY);
$_SESSION["villes"] = serialize($this->villes); // on enregistre le nouvelle état de jeu
// on test les entrées GET
if ($this->testInput($villeAX) && $this->testInput($villeAY) && $this->testInput($villeBX) && $this->testInput($villeBY)) {
// on ajoute d'abord l'état actuel dans la pile des états précédents
array_push($this->villes_old, $this->villes);
$_SESSION["villes_old"] = serialize($this->villes_old); // on l'enregistre
$this->villes->lierVilles($villeAX, $villeAY, $villeBX, $villeBY);
$_SESSION["villes"] = serialize($this->villes); // on enregistre le nouvelle état de jeu
}
$this->jeu(null, null, null, null);
}
/**
* Cette méthode permet de vérifier un input pour parer a une eventuelle modification de l'url de la part de l'utilisateur
* @param $input mixed valeur à tester
* @return bool vrai si la valeur est valide
*/
private function testInput($input) {
return isset($input) && is_numeric($input) && $input >= 0 && $input <= 6;
}
}
?>
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment