From d6998c7b9651fcc124d7ba4d9c519d42c67ae8f0 Mon Sep 17 00:00:00 2001 From: johan Date: Fri, 9 Dec 2022 15:00:54 +0100 Subject: [PATCH 1/2] =?UTF-8?q?Premi=C3=A8res=20=C3=A9tapes=20pour=20la=20?= =?UTF-8?q?cr=C3=A9ation=20d'=C3=A9v=C3=A9nements?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- WEB/Controller/UserController.php | 10 ++++++++++ WEB/Model/UserModel.php | 25 ++++++++----------------- 2 files changed, 18 insertions(+), 17 deletions(-) diff --git a/WEB/Controller/UserController.php b/WEB/Controller/UserController.php index 7331bc7c..36bc9677 100644 --- a/WEB/Controller/UserController.php +++ b/WEB/Controller/UserController.php @@ -10,6 +10,7 @@ class UserController global $dsn, $rep, $vues, $error; $model = new UserModel(); $action = $_REQUEST['action']; + //register_event_handler('add_to_queue',array($this,"onAddToQueue")); switch ($action) { case NULL: $model->goToHome(); @@ -51,4 +52,13 @@ class UserController require($rep . $vues['erreur']); } } + public function onAddToQueue(){ + $model=new UserModel; + $model->AddUserToQueueEvent(); + $this->goToMulti(); + } + + /*public function goToMulti(){ + + }*/ } \ No newline at end of file diff --git a/WEB/Model/UserModel.php b/WEB/Model/UserModel.php index 8a57cfd7..32607d1c 100644 --- a/WEB/Model/UserModel.php +++ b/WEB/Model/UserModel.php @@ -97,15 +97,8 @@ class UserModel } public function addToQueue(){ echo '1'; - $userGroup=$this->utilisateur_gateway->findUsersInQueue(); if($this->utilisateur_gateway->isAlreadyInqueue($_SESSION['utilisateur'])) { - if ($this->utilisateur_gateway->queueFilled()) - { - echo "Partie is launched"; - $this->utilisateur_gateway->launchGame($_SESSION['utilisateur']); - } else - $this->attente(); return; } echo '2'; @@ -126,18 +119,16 @@ class UserModel } echo '8'; $this->utilisateur_gateway->addToQueue($_SESSION['utilisateur'],$partie); - echo '9'; - if ($this->utilisateur_gateway->queueFilled()) - { - echo "Partie is launched"; - trigger_event('queue_filled',$user_group,$partie,$user_group); - $this->utilisateur_gateway->launchGame($_SESSION['utilisateur']); - } - $this->attente(); + $userGroup=$this->utilisateur_gateway->findUsersInQueue(); + //trigger_event('add_to_queue',$userGroup); } - public function onQueueFilled{ - + public function AddUserToQueueEvent(){ + $userGroup=$this->utilisateur_gateway->findUsersInQueue(); + if($userGroup.count()>=4) + { + $this->utilisateur_gateway->launchGame(); + } } public function logout() From 91bdbe70e37f8ac2c65ef1de051567f5db7f2aae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?No=C3=A9=20Garnier?= Date: Fri, 9 Dec 2022 15:02:52 +0100 Subject: [PATCH 2/2] Design enigme solo : -Cesar -ChuckNorris --- WEB/Config/Config.php | 2 + WEB/Controller/UserController.php | 6 + WEB/Model/UserModel.php | 24 +- WEB/View/src/JS/base.js | 2 +- WEB/View/src/pages/Enigme/CesarDecrypt.html | 273 +++++++++++------ .../src/pages/Enigme/CesarEncrypt copy.html | 102 ------- WEB/View/src/pages/Enigme/CesarEncrypt.html | 10 +- WEB/View/src/pages/Enigme/ChuckNorris.html | 281 +++++++++++------- 8 files changed, 395 insertions(+), 305 deletions(-) delete mode 100644 WEB/View/src/pages/Enigme/CesarEncrypt copy.html diff --git a/WEB/Config/Config.php b/WEB/Config/Config.php index a19620de..a31e1eb9 100644 --- a/WEB/Config/Config.php +++ b/WEB/Config/Config.php @@ -31,6 +31,8 @@ $vues['next'] = 'View/src/pages/FirstTests/FirstTest'; $vues['enigme'] = 'View/src/pages/Enigme/Palindrome.html'; $vues['chouette'] = 'View/src/pages/Enigme/Chouette.html'; $vues['cesarEncrypt'] = 'View/src/pages/Enigme/CesarEncrypt.html'; +$vues['cesarDecrypt'] = 'View/src/pages/Enigme/CesarDecrypt.html'; +$vues['chuckNorris'] = 'View/src/pages/Enigme/ChuckNorris.html'; //Error $vues['erreur'] = 'View/src/pages/Erreur.php'; diff --git a/WEB/Controller/UserController.php b/WEB/Controller/UserController.php index 8b040bc7..bdb938cd 100644 --- a/WEB/Controller/UserController.php +++ b/WEB/Controller/UserController.php @@ -32,6 +32,12 @@ class UserController case "goToCesarEncrypt": $model->goToCesarEncrypt(); break; + case "goToCesarDecrypt": + $model->goToCesarDecrypt(); + break; + case "goToChuckNorris" : + $model->goToChuckNorris(); + break; case "goToQueue": $model->goToQueue(); break; diff --git a/WEB/Model/UserModel.php b/WEB/Model/UserModel.php index 94f43a9a..fb0c9d1f 100644 --- a/WEB/Model/UserModel.php +++ b/WEB/Model/UserModel.php @@ -71,6 +71,26 @@ class UserModel require($rep . $vues['erreur']); } } + public function goToCesarDecrypt() + { + global $rep, $vues, $error; + try { + require($rep . $vues['cesarDecrypt']); + } catch (Exception $e) { + $error = "404"; + require($rep . $vues['erreur']); + } + } + public function goToChuckNorris() + { + global $rep, $vues, $error; + try { + require($rep . $vues['chuckNorris']); + } catch (Exception $e) { + $error = "404"; + require($rep . $vues['erreur']); + } + } public function goToTest() { @@ -146,10 +166,6 @@ class UserModel $this->attente(); } - public function onQueueFilled{ - - } - public function logout() { $_SESSION['role'] = 'visitor'; diff --git a/WEB/View/src/JS/base.js b/WEB/View/src/JS/base.js index ddcff1f7..31dde7b0 100644 --- a/WEB/View/src/JS/base.js +++ b/WEB/View/src/JS/base.js @@ -117,6 +117,6 @@ function check() { function displayHelp() { var help = document.getElementsByClassName("help"); for (var i = 0; i < help.length; i++) { - help[i].style.display = "flex"; + help[i].style.display = "block"; } } diff --git a/WEB/View/src/pages/Enigme/CesarDecrypt.html b/WEB/View/src/pages/Enigme/CesarDecrypt.html index 8c3c3a13..f68a1d89 100644 --- a/WEB/View/src/pages/Enigme/CesarDecrypt.html +++ b/WEB/View/src/pages/Enigme/CesarDecrypt.html @@ -1,100 +1,191 @@ - - - - - - Code César - - - - - - -
-
-
- home -
-
-

- c - es - a - r -

-

-
-

Consigne


-

- Écrire une fonction Decrypt qui prend en argument un essage crypté et une clé et qui retourne le message decrypté avec le code César.(les espace ne seront pas encodé.) -


-

Rappel


-

Le code César (ou chiffre de César ) est un chiffrement par substitution, où chaque lettre est remplacée par une autre lettre se situant un peu plus loin dans l'alphabet. Par exemple A avec une clé 2 devient C. -


-

Exemple


-

Entrée :      Sortie :

-

'fbehu',3       cyber


-

Aide


-

- La fonction ord(char) de python permet de retourner l’Unicode (standard d’encodage de caractères) d'un caractère. Par exemple, ord('a') retourné '97' et ord('b’) retourne 98. -

-
-
def Decrypt(text, key): - result = "" - for i in range(len(text)): - char = text[i] - if(char==" "): - result+=" " - elif (char.isupper()): - result += chr((ord(char) - key-65) % 26 + 65) - else: - result += chr((ord(char) - key - 97) % 26 + 97) - return result
-
- -
-
- - Run - - - Submit - + + + + + Code Cesar + + + + + + + +
+ +
+
+ home +
+
+ + + +
+ +
+

+ Code Cesar +

+

+ Écrire une fonction Decrypt qui prend en argument un message et une clé + et qui retourne le message décrypté avec le code César.(les espace ne seront pas encodé.) +

+

Rappel

+

+ Le code César (ou chiffre de César ) est un chiffrement par substitution, +
où chaque lettre est remplacée par une autre lettre se situant un peu plus loin dans l'alphabet . +
Par exemple A avec une clé 2 devient C. +

+

Exemple

+

Entrée :      Sortie :

+

'fbehu',3      cyber

+ + +
+ + + +
+
def Decrypt(text, key):
-
+
+ -