From 0a42f4b62506f0423c1a81a38758fbfc25b461e6 Mon Sep 17 00:00:00 2001 From: Ronan Date: Mon, 16 Aug 2021 21:07:30 +0200 Subject: [PATCH] Enigma Liberation v1 --- ajax/read/index.php | 242 +++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 241 insertions(+), 1 deletion(-) diff --git a/ajax/read/index.php b/ajax/read/index.php index 46317c3..e405d42 100644 --- a/ajax/read/index.php +++ b/ajax/read/index.php @@ -75,7 +75,34 @@ function isFirstTeamToSolve($score_data) { return true; } +function isAlreadySolved($team, $enigme) { + $dao = new Dao(); + $score = $dao->get_score_team($team); + + foreach($score as $value) { + if ($value['text'] == $enigme) + return false; + } + return true; +} + +function isLastEnigmaSolved($enigme) { + $dao = new Dao(); + $scorePek = $dao->get_score_team('pek'); + $scoreBoo = $dao->get_score_team('boo'); + $score = array_merge($scorePek, $scoreBoo); + + foreach($score as $value) { + + if ($value['text'] == $enigme) + return true; + } + return false; +} + + +// TODO : passer ça sous DB function get_enigma_code() { if (isset($_GET['code'])) { $data = array( @@ -283,10 +310,36 @@ function get_enigma_code() {

Bien joué ! Attendez demain pour la suite !

"; } else { $data["info"] = "

Énigme 00 Intermédiaire

-

Bien joué ! Attendez demain pour la suite !

+

En résolvant cette énigme, vous avez reçu un petit parachute avec à l’intérieur cette mystérieuse carte.

+

Les participants sont autorisés à quitter l’arène le temps de retrouver leurs compagnons. Evidemment, ils seront accompagnés par un bataillon de pacificateurs et des caméras pour suivre chacun de leurs mouvements. Mais attention, ils ne pourront choisir qu’une seule destination, bon courage, et puisse le sort vous être favorable. +

"; } + if(isFirstTeamToSolve($score_data)) { + $dao = new Dao(); + $dao->add_score($score_data); + } + echo json_encode($data, JSON_FORCE_OBJECT); + + break; + + + case 'Venise' : + $data["name"] = "enigme-liberation-1"; + $score_data["text"] = 'Énigme Libération 1'; + $score_data["points"] = 100; + + if($date< 1628613000 ) { + $data["info"] = "

Énigme Libération 1

+

Bien joué ! Attendez un peu pour la suite !

"; + } else { + $data["info"] = "

Énigme Libération 1

+

Inversez les couleurs et videz l’eau, à quoi cela vous fait penser ?

+ "; + + } + if(isFirstTeamToSolve($score_data)) { $dao = new Dao(); $dao->add_score($score_data); @@ -294,6 +347,193 @@ function get_enigma_code() { echo json_encode($data, JSON_FORCE_OBJECT); break; + case 'Jean Jaurès' : + $data["name"] = "enigme-liberation-2"; + $score_data["text"] = 'Énigme Libération 2'; + $score_data["points"] = 100; + if(isLastEnigmaSolved('Énigme Libération 1')) { + if($date < 1628613000) { + $data["info"] = "

Énigme Libération 2

+

Vous avez compris le message des informateurs, aller dans le centre de la capitale de Panem vous parait évident maintenant.

+

Mais un virus tourne, il ne faudrait pas faire retentir le canon et perdre des tributs, alors ne passez pas trop de temps dans la ville ! +

"; + } else { + $data["info"] = "

Énigme Libération 2

+

Vous avez compris le message des informateurs, aller dans le centre de la capitale de Panem vous parait évident maintenant.

+

Mais un virus tourne, il ne faudrait pas faire retentir le canon et perdre des tributs, alors ne passez pas trop de temps dans la ville ! +

"; + } + + if(isFirstTeamToSolve($score_data)) { + $dao = new Dao(); + $dao->add_score($score_data); + } + echo json_encode($data, JSON_FORCE_OBJECT); + } + break; + + case 'Café Pop' : + $data["name"] = "enigme-liberation-3-1"; + $score_data["text"] = 'Énigme Libération 3-1'; + $score_data["points"] = 50; + if(isLastEnigmaSolved('Énigme Libération 2')) { + if($date < 1628613000) { + $data["info"] = "

Énigme Libération 3-1

+

Aucune perte du côté de votre district, tout va bien, vous avancez prudemment dans la ville…

+ + "; + + + } else { + $data["info"] = "

Énigme Libération 3-1

+

Aucune perte du côté de votre district, tout va bien, vous avancez prudemment dans la ville…

+ + "; + + + + } + + if(isFirstTeamToSolve($score_data)) { + $dao = new Dao(); + $dao->add_score($score_data); + } + echo json_encode($data, JSON_FORCE_OBJECT); + } + break; + + case 'Snapper' : + $data["name"] = "enigme-liberation-3-2"; + $score_data["text"] = 'Énigme Libération 3-2'; + $score_data["points"] = 50; + if(isLastEnigmaSolved('Énigme Libération 2')) { + if($date < 1628613000) { + $data["info"] = "

Énigme Libération 3-2

+

Aucune perte du côté de votre district, tout va bien, vous avancez prudemment dans la ville…

+ + + "; + + + } else { + $data["info"] = "

Énigme Libération 3-2

+

Aucune perte du côté de votre district, tout va bien, vous avancez prudemment dans la ville…

+ + + "; + + + + } + + if(isFirstTeamToSolve($score_data)) { + $dao = new Dao(); + $dao->add_score($score_data); + } + echo json_encode($data, JSON_FORCE_OBJECT); + } + break; + + case 'needhelp' : + $data["name"] = "enigme-liberation-3-3"; + $score_data["text"] = 'Énigme Libération 3-3'; + $score_data["points"] = 0; + if(isLastEnigmaSolved('Énigme Libération 3')) { + if($date < 1628613000) { + $data["info"] = "

Énigme Libération 3-3

+ Je t'embarque au poste."; + + + } else { + $data["info"] = "

Énigme Libération 3-3

+

Les arènes de tous les INSA Games étaient jusqu’à présent truffées de pièges mortels. Cette ville est votre nouvelle arène, et évidemment elle n’y fait pas exception. + Mais cette année, les hauts juges ont créé ce document afin de vous aider à les localiser.

+ "; + + } + + echo json_encode($data, JSON_FORCE_OBJECT); + } + break; + + case 'Saint des seins' : + $score_data["text"] = 'Malus Énigme Libération 1'; + $score_data["points"] = -25; + if(isAlreadySolved($team, $score_data["text"])) { + $dao = new Dao(); + $dao->add_score($score_data); + } + + break; + + case 'La Couleur de la Culotte' : + $score_data["text"] = 'Malus Énigme Libération 2'; + $score_data["points"] = -25; + if(isAlreadySolved($team, $score_data["text"])) { + $dao = new Dao(); + $dao->add_score($score_data); + } + break; + + case '0712' : + $score_data["text"] = 'Malus Énigme Libération 3'; + $score_data["points"] = -25; + if(isAlreadySolved($team, $score_data["text"])) { + $dao = new Dao(); + $dao->add_score($score_data); + } + break; + + case '1108' : + $score_data["text"] = 'Malus Énigme Libération 4'; + $score_data["points"] = -25; + if(isAlreadySolved($team, $score_data["text"])) { + $dao = new Dao(); + $dao->add_score($score_data); + } + break; + + case 'rose' : + $data["name"] = "enigme-liberation-4"; + $score_data["text"] = 'Énigme Libération 4'; + $score_data["points"] = 100; + if(isLastEnigmaSolved('Énigme Libération 3-1') && isLastEnigmaSolved('Énigme Libération 3-2')) { + if($date < 1628613000) { + $data["info"] = "

Énigme Libération 4

+

On vous demande un mot de passe pour rentrer

"; + } else { + $data["info"] = "

Énigme Libération 4

+

On vous demande un mot de passe pour rentrer

"; + } + + if(isFirstTeamToSolve($score_data)) { + $dao = new Dao(); + $dao->add_score($score_data); + } + echo json_encode($data, JSON_FORCE_OBJECT); + } + break; + + case 'Presque' : + $data["name"] = "enigme-liberation-5"; + $score_data["text"] = 'Énigme Libération 5'; + $score_data["points"] = 50; + if(isLastEnigmaSolved('Énigme Libération 4')) { + if($date < 1628613000) { + $data["info"] = "

Énigme Libération 5

+

Bien joué ! Attendez demain pour la suite !

"; + } else { + $data["info"] = "

Énigme Libération 5

+

Bien joué ! Attendez demain pour la suite !

"; + } + + if(isFirstTeamToSolve($score_data)) { + $dao = new Dao(); + $dao->add_score($score_data); + } + echo json_encode($data, JSON_FORCE_OBJECT); + } + break; default: $data["name"] = null;