Merge branch 'master' of https://codefirst.iut.uca.fr/git/nathan.boileau/Scripted
continuous-integration/drone/push Build is passing Details

ServeurDeTest
nathan boileau 2 years ago
commit ac6890ba1a

@ -38,6 +38,8 @@ $vues['chuckNorris'] = 'View/src/pages/Enigme/ChuckNorris.html';
$vues['hanoi'] = 'View/src/pages/Enigme/Hanoi.html';
$vues['trianglePascal'] = 'View/src/pages/Enigme/TrianglePascal.html';
$vues['doubleElement'] = 'View/src/pages/Enigme/DoubleElement.html';
// Server
$server = './server.js';
//Error
$vues['erreur'] = 'View/src/pages/Erreur.php';

@ -1,11 +1,11 @@
<?php
require("server.js");
class UserController
{
function __construct()
{
try {
global $dsn, $rep, $vues, $error;
global $dsn, $rep, $vues, $error, $server;
$action = $_REQUEST['action'];
echo $action;
switch ($action) {
@ -206,12 +206,8 @@ class UserController
$model = new UserModel();
$model->addToQueue();
$userGroup = $model->findUserGroup();
echo '
<script>
const socket = io();
io.to("'.$userGroup.'").emit("launchGame", {});
</script>
';
$io = get_io();
$io->to($userGroup)->emit("launchGame");
} catch (Exception $e) {
$error = $e->getMessage();
require($rep . $vues['erreur']);

@ -16,7 +16,7 @@ class AdminModel
public function addNewEnigmeSolo(string $nom,string $enonce,string $aide,string $rappel,string $exemple,string $test,string $solution, string $prompt) : Enigme
{
$last = $this->enigme_gateway->findLastEnigma();
$last = $this->enigme_gateway->findLastEnigmaByOrdre();
if ($last != null){
$ordre = $last[0]->getOrdre() + 1;
} else {
@ -44,11 +44,32 @@ async function submit(){
return $tabEnigme[0];
}
private function majOrdreAfterDelete(int $ordre){
$lesEnigmes = $this->enigme_gateway->findSoloEnigma();
if ($lesEnigmes == null) {
return;
}
$lastOrdre = $this->enigme_gateway->findLastEnigmaByOrdre()[0]->getOrdre();
if ($ordre > $lastOrdre) {
return;
}
foreach ($lesEnigmes as $enigme) {
if ($enigme->getOrdre() <= $ordre) {
continue;
}
$enigme->setOrdre($enigme->getOrdre()-1);
$this->enigme_gateway->update($enigme);
}
}
public function deleteEnigme(int $id) : void
{
$nom = $this->enigme_gateway->findById($id)[0]->getNom();
$enigme = $this->enigme_gateway->findById($id)[0];
$nom = $enigme->getNom();
$ordre = $enigme->getOrdre();
$this->enigme_gateway->delete($id);
unlink('View/src/JS/'.$nom.'.js');
$this->majOrdreAfterDelete($ordre);
}
public function getEnigmesSolo() : array
@ -91,20 +112,19 @@ async function submit(){
$lesNombres = array();
foreach ($lesOrdres as $ordre) {
if ($ordre[1] < 1) {
return false;
throw new Exception("Aucune énigme ne peut avoir un ordre inférieur à 1");
}
$lesNombres[] = $ordre[1];
}
sort($lesNombres);
if ($lesNombres[0] != 1) {
return false;
throw new Exception("La première énigme doit avoir un ordre de 1");
}
$last = end($lesNombres);
$i = 0;
while ($i < $last) {
if ($lesNombres[$i] != $i+1) {
echo "Error";
return false;
throw new Exception("L'ordre des énigmes doit être consécutif");
}
$i++;
}

@ -2,8 +2,6 @@
async function submit(){
var test = editor.getValue()+`\n
import random as r
def EncryptVerif(text, key):
result = ""
for i in range(len(text)):
@ -15,7 +13,8 @@ def EncryptVerif(text, key):
else:
result += chr((ord(char) + key - 97) % 26 + 97)
return result
import random as r
def testEncrypte(x):
Encrypt("",1)
if(Encrypt("Hello world",2)!="Jgnnq yqtnf"):

@ -10,7 +10,7 @@ def chouetteVerif(valeur):
if (i+j+k) == valeur:
res.append([i, j, k])
return res
import random as r
import random as r
def test_chouette(n):
chouette(1)
listTest=[]

@ -19,8 +19,9 @@ io.on('launchGame' , function () {
console.log('launch the game');
location.reload();
})
module.exports = {
io : io
};
io: io
};
console.log('iolisten');
Loading…
Cancel
Save