Test calcul score dans le dashboard
continuous-integration/drone/push Build is failing Details

ServeurDeTest
Noé GARNIER 2 years ago
parent da577ecde6
commit 174812cc3f

@ -76,8 +76,11 @@ class UserController
case "goToDashboard":
$this->goToDashboard();
break;
case "getPlayersPseudo":
$this->getPlayersPseudo();
case "getPlayers":
$this->getPlayers();
break;
case "getPlayerScore":
$this->getPlayerScore();
break;
default:
$error = "Action non valide";
@ -443,13 +446,12 @@ class UserController
require($rep . $vues['erreur']);
}
}
public function getPlayersPseudo(){
public function getPlayers(){
try {
global $rep, $vues, $error;
$model = new UserModel();
$idPartie = $_SESSION['idPartie'];
$utilisateur = $_SESSION['utilisateur'];
$lesJoueurs = $model->getPlayersPseudo($idPartie);
$lesJoueurs = $model->getPlayers($idPartie);
$lesJoueurs = json_encode($lesJoueurs);
echo $lesJoueurs;
}
@ -458,4 +460,19 @@ class UserController
require($rep . $vues['erreur']);
}
}
public function getPlayerScore(){
try {
global $rep, $vues, $error;
$model = new UserModel();
$idPartie = $_SESSION['idPartie'];
$joueur = $_POST['joueur'];
$score = $model->getPlayerScore($joueur, $idPartie);
$score = json_encode($score);
echo $score;
}
catch (Exception $e) {
$error = $e->getMessage();
require($rep . $vues['erreur']);
}
}
}

@ -286,12 +286,36 @@ class UserModel
}
$this->partie_gateway->quitGame($mailUtilisateur, $idPartie);
}
public function getPlayersPseudo(int $idPartie) : array{
$this->partie_gateway->getLesMailJoueurs($idPartie);
$lesPseudos = array();
foreach ($this->partie_gateway->getLesMailJoueurs($idPartie) as $mail){
$lesPseudos[] = $this->utilisateur_gateway->getPseudoByEmail($mail);
public function getPlayers(int $idPartie) : array{
$lesJoueurs = $this->getLesJoueurs($idPartie);
$lesPseudo = array();
foreach ($lesJoueurs as $joueur){
$lesPseudo[] = $this->utilisateur_gateway->getPseudoByEmail($joueur);
}
return array($lesJoueurs, $lesPseudo);
}
public function getPlayerScore(string $mailUtilisateur,int $idPartie) : array{
global $playerNumberPerGame;
$score = array();
$result = $this->resoudre_gateway->getAllByPartieAndUtilisateur($mailUtilisateur, $idPartie);
foreach ($result as $row){
$points = 0;
if ($row['temps'] == 0){
$score[] = 0;
}
else if ($row['classement'] == 1){
$score[] = $this->enigme_gateway->findById($row['enigme'])[0]->getPoints();
}
else if ($row['classement'] == 2){
$score[] = $this->enigme_gateway->findById($row['enigme'])[0]->getPoints() * 0.75;
}
else if ($row['classement'] == 3){
$score[] = $this->enigme_gateway->findById($row['enigme'])[0]->getPoints() * 0.5;
}
else{
$score[] = $this->enigme_gateway->findById($row['enigme'])[0]->getPoints() * 0.25;
}
}
return $lesPseudos;
return $score;
}
}

@ -1,4 +1,4 @@
window.onload = function () {
function dashboard () {
var xhr = new XMLHttpRequest();
xhr.open('POST', 'http://82.165.180.114/Scripted/index.php?action=getPlayersPseudo', true);
xhr.responseType = 'text';
@ -9,45 +9,83 @@ window.onload = function () {
xhr.send(null);
data = [];
if (players[0] != null) {
v = {}
v.type="line";
v.xValueFormatString=players[0];
v.dataPoints=[];
data.push(v);
if (players[1][0] != null) {
v1 = {}
v1.type="line";
v1.xValueFormatString=players[1][0];
v1.dataPoints=[];
var xhr = new XMLHttpRequest();
xhr.open('POST', 'http://82.165.180.114/Scripted/index.php?action=getPlayerScore&joueur='. players[0][0], true);
xhr.responseType = 'text';
xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
var score = xhr.onload = function () {
return JSON.parse(xhr.responseText);
};
xhr.send(null);
for (i = 0; i < score.length; i++) {
v1.dataPoints.push({x:i+1,y:score[i]});
}
data.push(v1);
}
// v.dataPoints.push({x:0,y:0});
// v.dataPoints.push({x:0.5,y:300});
if (players[1] != null) {
v = {}
v.type="line";
v.xValueFormatString=players[1];
v.dataPoints=[];
data.push(v);
if (players[1][1] != null) {
v2 = {}
v2.type="line";
v2.xValueFormatString=players[1][1];
v2.dataPoints=[];
var xhr = new XMLHttpRequest();
xhr.open('POST', 'http://82.165.180.114/Scripted/index.php?action=getPlayerScore&joueur='. players[0][1], true);
xhr.responseType = 'text';
xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
var score = xhr.onload = function () {
return JSON.parse(xhr.responseText);
};
xhr.send(null);
for (i = 0; i < score.length; i++) {
v2.dataPoints.push({x:i+1,y:score[i]});
}
data.push(v2);
}
// v.dataPoints.push({x:0,y:0});
// v.dataPoints.push({x:0.5,y:300});
if (players[2] != null) {
v = {}
v.type="line";
v.xValueFormatString=players[2];
v.dataPoints=[];
data.push(v);
if (players[1][2] != null) {
v3 = {}
v3.type="line";
v3.xValueFormatString=players[1][2];
v3.dataPoints=[];
var xhr = new XMLHttpRequest();
xhr.open('POST', 'http://82.165.180.114/Scripted/index.php?action=getPlayerScore&joueur='. players[0][2], true);
xhr.responseType = 'text';
xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
var score = xhr.onload = function () {
return JSON.parse(xhr.responseText);
};
xhr.send(null);
for (i = 0; i < score.length; i++) {
v3.dataPoints.push({x:i+1,y:score[i]});
}
data.push(v3);
}
// v.dataPoints.push({x:0,y:0});
// v.dataPoints.push({x:0.5,y:300});
if (players[3] != null) {
v = {}
v.type="line";
v.xValueFormatString=players[3];
v.dataPoints=[];
data.push(v);
if (players[1][3] != null) {
v4 = {}
v4.type="line";
v4.xValueFormatString=players[1][3];
v4.dataPoints=[];
var xhr = new XMLHttpRequest();
xhr.open('POST', 'http://82.165.180.114/Scripted/index.php?action=getPlayerScore&joueur='. players[0][3], true);
xhr.responseType = 'text';
xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
var score = xhr.onload = function () {
return JSON.parse(xhr.responseText);
};
xhr.send(null);
for (i = 0; i < score.length; i++) {
v3.dataPoints.push({x:i+1,y:score[i]});
}
data.push(v4);
}
// v.dataPoints.push({x:0,y:0});
// v.dataPoints.push({x:0.5,y:300});
console.log(data);
@ -77,4 +115,10 @@ window.onload = function () {
data
});
chart.render();
}
}
window.addEventListener("load", start);
function start(){
setInterval('dashboard()', 1000);
}
Loading…
Cancel
Save