Noé GARNIER 2 years ago
commit 2088859911

@ -22,8 +22,16 @@ pseudo varchar(50),
mdp varchar(50) mdp varchar(50)
); );
CREATE TABLE Game( CREATE TABLE Partie(
idGame char(5) NOT NULL, idPartie char(5) NOT NULL,
joueur varchar(50) REFERENCES Joueur(email),
enigme char(5) REFERENCES Enigme(idEnigme),
points numeric CHECK (points >0),
PRIMARY KEY(idGame, joueur, enigme)
);
CREATE TABLE DetailPartie(
idPartie char(5) NOT NULL,
joueur varchar(50) REFERENCES Joueur(email), joueur varchar(50) REFERENCES Joueur(email),
enigme char(5) REFERENCES Enigme(idEnigme), enigme char(5) REFERENCES Enigme(idEnigme),
points numeric CHECK (points >0), points numeric CHECK (points >0),

@ -0,0 +1,52 @@
<?php
class DetailPartieGateway
{
private Connection $con;
/**
* @param Connection $con
*/
public function __construct(Connection $con)
{
$this->con = $con;
}
/**
* @param Connection $con
*/
public function setCon(Connection $con): void
{
$this->con = $con;
}
public function insert(DetailPartie $detailPartie)
{
$query="INSERT INTO DetailPartie VALUES (:idDetailPartie,:joueur,:partie,:enigme,:pointsObtenus,:classement)";
$this->con->executeQuery($query,array(
'idDetailPartie' => array($detailPartie->getIdDetailPartie(),PDO::PARAM_STR),
'joueur' => array($detailPartie->getJoueur(),PDO::PARAM_STR),
'partie' => array($detailPartie->getPartie(),PDO::PARAM_STR),
'enigme' => array($detailPartie->getEnigme(),PDO::PARAM_STR),
'pointsObtenus' => array($detailPartie->getPointsObtenus(),PDO::PARAM_INT),
'classement' => array($detailPartie->getClassement(),PDO::PARAM_INT)
));
}
public function delete(string $partie){
$query="DELETE * FROM DetailPartie WHERE partie=:partie";
$this->con->executeQuery($query,array(
'partie' => array($partie,PDO::PARAM_STR)
));
}
public function showAll(){
$query="SELECT * FROM DetailPartie";
$this->con->executeQuery($query);
$results=$this->con->getResults();
foreach($results as $row)
{
$row['idDetailPartie'];
}
}
}

@ -15,17 +15,26 @@ class EnigmeGateway
$this->con = $con; $this->con = $con;
} }
public function insert(string $idEnigme, string $admin, string $enonce, string $aide, string $rappel, string $solution, string $test, float $tempsDeResolution) /**
* @param Connection $con
*/
public function setCon(Connection $con): void
{
$this->con = $con;
}
public function insert(Enigme $enigme)
{ {
$query = "INSERT INTO Enigme VALUES (:idEnigme,:admin,:enonce,:aide,:rappel,:solution,:test,:tempsDeResolution)"; $query = "INSERT INTO Enigme VALUES (:idEnigme,:admin,:enonce,:aide,:rappel,:solution,:test,:tempsDeResolution)";
$this->con->executeQuery($query, array( $this->con->executeQuery($query, array(
':idEnigme' => array($idEnigme, PDO::PARAM_STR), ':idEnigme' => array($enigme->getIdEnigme(), PDO::PARAM_STR),
':admin' => array($admin, PDO::PARAM_STR), ':admin' => array($enigme->getAdmin(), PDO::PARAM_STR),
':enonce' => array($enonce, PDO::PARAM_STR), ':enonce' => array($enigme->getEnonce(), PDO::PARAM_STR),
':aide' => array($aide, PDO::PARAM_STR), ':aide' => array($enigme->getAide(), PDO::PARAM_STR),
':rappel' => array($rappel, PDO::PARAM_STR), ':rappel' => array($enigme->getRappel(), PDO::PARAM_STR),
':solution' => array($solution, PDO::PARAM_STR), ':solution' => array($enigme->getSolution(), PDO::PARAM_STR),
':test' => array($tempsDeResolution, PDO::PARAM_STR) ':test' => array($enigme->getTest(), PDO::PARAM_STR),
':tempsDeResolution' => array($enigme->getTempsDeResolution(), PDO::PARAM_INT)
)); ));
} }

@ -14,9 +14,9 @@ class PartieGateway
{ {
$this->con = $con; $this->con = $con;
} }
public function insert(string $idPartie){ public function insert(Partie $partie){
$query= "INSERT INTO Game VALUES (:idPartie)"; $query= "INSERT INTO Game VALUES (:idPartie)";
$this->con->executeQuery($query, array(':idPartie' => array($idPartie, PDO::PARAM_STR))); $this->con->executeQuery($query, array(':idPartie' => array($partie->getIdPartie(), PDO::PARAM_STR)));
} }
public function delete(string $idPartie){ public function delete(string $idPartie){
$query= "DELETE FROM Game WHERE idGame = :idPartie"; $query= "DELETE FROM Game WHERE idGame = :idPartie";

@ -6,18 +6,18 @@ class DetailPartie
private string $joueur; private string $joueur;
private string $partie; private string $partie;
private string $enigme; private string $enigme;
private string $pointsObtenus; private int $pointsObtenus;
private string $classement; private int $classement;
/** /**
* @param string $idDetailPartie * @param string $idDetailPartie
* @param string $joueur * @param string $joueur
* @param string $partie * @param string $partie
* @param string $enigme * @param string $enigme
* @param string $pointsObtenus * @param int $pointsObtenus
* @param string $classement * @param int $classement
*/ */
public function __construct(string $idDetailPartie, string $joueur, string $partie, string $enigme, string $pointsObtenus, string $classement) public function __construct(string $idDetailPartie, string $joueur, string $partie, string $enigme, int $pointsObtenus, int $classement)
{ {
$this->idDetailPartie = $idDetailPartie; $this->idDetailPartie = $idDetailPartie;
$this->joueur = $joueur; $this->joueur = $joueur;
@ -92,33 +92,33 @@ class DetailPartie
} }
/** /**
* @return string * @return int
*/ */
public function getPointsObtenus(): string public function getPointsObtenus(): int
{ {
return $this->pointsObtenus; return $this->pointsObtenus;
} }
/** /**
* @param string $pointsObtenus * @param int $pointsObtenus
*/ */
public function setPointsObtenus(string $pointsObtenus): void public function setPointsObtenus(int $pointsObtenus): void
{ {
$this->pointsObtenus = $pointsObtenus; $this->pointsObtenus = $pointsObtenus;
} }
/** /**
* @return string * @return int
*/ */
public function getClassement(): string public function getClassement(): int
{ {
return $this->classement; return $this->classement;
} }
/** /**
* @param string $classement * @param int $classement
*/ */
public function setClassement(string $classement): void public function setClassement(int $classement): void
{ {
$this->classement = $classement; $this->classement = $classement;
} }

Binary file not shown.

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 814 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

@ -1,5 +1,6 @@
@import url("https://fonts.googleapis.com/css2?family=Orbitron&display=swap"); @import url("https://fonts.googleapis.com/css2?family=Orbitron&display=swap");
/*Default CSS*/ /*Default CSS*/
body { body {
min-height: 100vh; min-height: 100vh;

@ -0,0 +1,43 @@
/*Fonts CSS */
@font-face {
font-family: Fauna;
src: url("../../assets/fonts/Fauna.ttf");
}
@font-face {
font-family: Equinox;
src: url("../../assets/fonts/Equinox.otf");
}
body {
min-height: 100vh;
font-family: "Equinox", sans-serif;
color: white;
scroll-behavior: smooth;
height: 100vh;
background-position: center center;
background-attachment: fixed;
background-repeat: no-repeat;
background-size: cover;
background-color: #050e15;
}
nav{
background: none;
}
h1{
z-index: 10;
color: #fff;
font-size: 65px;
letter-spacing: 1px;
}
section img {
position: absolute;
top: 0;
left: 0;
width: 100%;
object-fit: cover;
}

@ -0,0 +1,64 @@
window.onload = function () {
var chart = new CanvasJS.Chart("chartContainer", {
animationEnabled: true,
zoomEnabled: true,
theme: "dark2",
title: {
text: "Score"
},
axisX: {
title: "Enigme",
valueFormatString: "####",
interval: 1
},
axisY: {
title: "Point",
titleFontColor: "#6D78AD",
lineColor: "#6D78AD",
gridThickness: 0,
lineThickness: 1,
},
legend: {
verticalAlign: "top",
fontSize: 16,
},
data: [{
type: "line",
xValueFormatString: "Pierre",
dataPoints: [
{ x: 0, y: 0 },
{ x: 1, y: 50 },
{ x: 2, y: 100 },
{ x: 3, y: 150 },
{ x: 4, y: 150 },
{ x: 5, y: 200 },
]
},
{
type: "line",
xValueFormatString: "Noe",
dataPoints: [
{ x: 0, y: 0 },
{ x: 1, y: 100 },
{ x: 2, y: 100 },
{ x: 3, y: 200 },
{ x: 4, y: 250 },
{ x: 5, y: 300 },
]
},
{
type: "line",
xValueFormatString: "Nathan",
dataPoints: [
{ x: 0, y: 0 },
{ x: 1, y: 75 },
{ x: 2, y: 100 },
{ x: 3, y: 150 },
{ x: 4, y: 200 },
{ x: 5, y: 250 },
]
}
]
});
chart.render();
}

@ -1,75 +1,29 @@
<!DOCTYPE HTML> <!DOCTYPE html>
<html> <html lang="en">
<head> <head>
<script> <meta charset="UTF-8" />
window.onload = function () { <meta name="viewport" content="width=device-width, initial-scale=1.0" />
var chart = new CanvasJS.Chart("chartContainer", { <title>Bootstrap Site</title>
animationEnabled: true, <link
zoomEnabled: true, rel="stylesheet"
theme: "dark2", href="https://stackpath.bootstrapcdn.com/bootstrap/5.0.0-alpha1/css/bootstrap.min.css"
title: { integrity="sha384-r4NyP46KrjDleawBgD5tp8Y7UzmLA05oM1iAEQ17CSuDqnUK2+k9luXQOfXJCJ4I"
text: "Score" crossorigin="anonymous"
}, />
axisX: { <script
title: "Enigme", src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js"
valueFormatString: "####", integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo"
interval: 1 crossorigin="anonymous"
}, ></script>
axisY: { <script
title: "Point", src="https://stackpath.bootstrapcdn.com/bootstrap/5.0.0-alpha1/js/bootstrap.min.js"
titleFontColor: "#6D78AD", integrity="sha384-oesi62hOLfzrys4LxRF63OJCXdXDipiYWBnvTl9Y9/TRlw5xlKIEHpNyvvDShgf/"
lineColor: "#6D78AD", crossorigin="anonymous"
gridThickness: 0, ></script>
lineThickness: 1, </head>
}, <body>
legend: { <script src="../../JS/dashboard.js"></script>
verticalAlign: "top", <div id="chartContainer" style="height: 370px; width: 100%;"></div>
fontSize: 16, <script src="https://canvasjs.com/assets/script/canvasjs.min.js"></script>
}, </body>
data: [{ </html>
type: "line",
xValueFormatString: "Pierre",
dataPoints: [
{ x: 0, y: 0 },
{ x: 1, y: 50 },
{ x: 2, y: 100 },
{ x: 3, y: 150 },
{ x: 4, y: 150 },
{ x: 5, y: 200 },
]
},
{
type: "line",
xValueFormatString: "Noe",
dataPoints: [
{ x: 0, y: 0 },
{ x: 1, y: 100 },
{ x: 2, y: 100 },
{ x: 3, y: 200 },
{ x: 4, y: 250 },
{ x: 5, y: 300 },
]
},
{
type: "line",
xValueFormatString: "Nathan",
dataPoints: [
{ x: 0, y: 0 },
{ x: 1, y: 75 },
{ x: 2, y: 100 },
{ x: 3, y: 150 },
{ x: 4, y: 200 },
{ x: 5, y: 250 },
]
}
]
});
chart.render();
}
</script>
</head>
<body>
<div id="chartContainer" style="height: 370px; width: 100%;"></div>
<script src="https://canvasjs.com/assets/script/canvasjs.min.js"></script>
</body>
</html>

@ -10,6 +10,7 @@
integrity="sha384-r4NyP46KrjDleawBgD5tp8Y7UzmLA05oM1iAEQ17CSuDqnUK2+k9luXQOfXJCJ4I" integrity="sha384-r4NyP46KrjDleawBgD5tp8Y7UzmLA05oM1iAEQ17CSuDqnUK2+k9luXQOfXJCJ4I"
crossorigin="anonymous" crossorigin="anonymous"
/> />
<link rel="stylesheet" href="../CSS/Pres.css" />
<script <script
src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js"
integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo"
@ -22,7 +23,7 @@
></script> ></script>
</head> </head>
<body> <body>
<nav class="navbar navbar-expand-lg navbar-dark bg-dark"> <nav class="navbar navbar-expand-lg navbar-dark">
<div class="container-fluid mx-0"> <div class="container-fluid mx-0">
<div class="nav-item nav-link"> <div class="nav-item nav-link">
<a class="navbar-brand">Home</a> <a class="navbar-brand">Home</a>
@ -38,8 +39,11 @@
</div> </div>
</nav> </nav>
<main class="container d-flex" style=" background-color: #3f5151;"> <section class=" position-relative w-100 h-100 d-flex justify-content-center align-items-center">
<h1 class="text-uppercase d-flex justify-content-center">Scripted</h1> <h1>Scripted</h1>
</main> <img src="../../assets/img/MenBGPres.png" id="men"></img>
<img src="../../assets/img/BuildingBG.png" id="building"></img>
</section>
</body> </body>
</html> </html>

Loading…
Cancel
Save