Commit 9f813a6e authored by Robin Borgogno's avatar Robin Borgogno

commentaire frontend

parent 8a2eaabf
......@@ -38,13 +38,14 @@
color:#403d39;
font-size:28px;
padding:16px 31px;
font-weight: bold;
white-space: nowrap;
margin-left: 1%;
font-weight: bold;
white-space: nowrap;
margin-left: 1%;
}
</style>
<script>
// Appel des variables globales user et game
const user = require("../model/user.js")
const game = require("../model/game.js")
......@@ -52,6 +53,7 @@ export default {
name: 'AdminPrivate',
methods: {
createIdGame: async function(){
// L'admin crée une partie privée
const url = sessionStorage.getItem('APIURL') + "/game"
let data = {
......@@ -62,30 +64,20 @@ export default {
var params = {
method: 'POST',
body : JSON.stringify(data) };
// console.log(user)
let response = await fetch(url, params)
let result = await response.json()
document.getElementById("codeGame").innerHTML = result[0].id;
game.id = result[0].id;
// console.log(game.id)
},
gameID: async function(){
// Fonction appelé dans le HTML et qui éxécute les fonctions dans l'ordre
await this.createIdGame()
await this.ajoutAdminGame()
await this.JoueurPresent()
},
returnUserID: function(){
return user.id
},
returnGameID: function(){
return game.id
},
JoueurPresentAppel: async function(){
await this.JoueurPresent()
},
ajoutAdminGame: async function(){
// Ajout l'admin (user) à la partie
const url = sessionStorage.getItem('APIURL') + "/gameuser"
let data = {
"GAME_ID": game.id,
......@@ -99,6 +91,8 @@ export default {
await fetch(url,params)
},
JoueurPresent: async function(){
// Fonction appelé toute les secondes et qui récupère les nouveaux joueurs de la partie
// Si il y a la présence de joueurs suffisant, la partie se lance
let url = sessionStorage.getItem('APIURL') + "/gameuser/game"
url += "/" + game.id;
var params = {
......@@ -115,21 +109,23 @@ export default {
this.$router.push(`/game/${game.id}`)
return
}
setTimeout(() => {if(game.id){this.JoueurPresent()}}, 3000)
setTimeout(() => {if(game.id){this.JoueurPresent()}}, 1000)
},
retour: async function() {
let data = {
// Function éxécuté lors de l'appui sur le bouton retour qui supprime l'user de la game et qui le renvoi à l'accueil
let data = {
"GAME_ID": game.id
}
await fetch(
await fetch(
sessionStorage.getItem('APIURL') + `/online/${user.id}`,
{
method: "DELETE",
body : JSON.stringify(data)
method: "DELETE",
body : JSON.stringify(data)
}
)
this.$router.push('/')
this.$router.push('/')
}
},
......
......@@ -47,6 +47,8 @@
<script>
let havePlayed = false
// Appel de la variable globale user
const user = require("../model/user.js")
export default {
......@@ -56,6 +58,9 @@ export default {
},
methods: {
select: async function (value) {
// Fonction éxécuté lors de l'appui sur une des réponses et inscrit le résultat dans la base de donnée
// Appel de la fonction récupérant les résultat dans un second temps
const gameID = window.location.href.split("/").slice(-1)[0]
if (havePlayed)
......@@ -76,6 +81,9 @@ export default {
},
getResult: async function(gameID,value) {
// Fonction appelée pour la première fois par "select" puis ensuite par elle meme tout les quarts de seconde
// Cette fonction récupère les résultats de la manche en cours
const res = await fetch(
sessionStorage.getItem('APIURL') + `/result/${gameID}`,
{
......@@ -83,10 +91,12 @@ export default {
}
)
const result = await res.json()
// Si on récupère deux résultats (donc que les deux joueurs ont joué)
if (result.length >= 2) {
this.updateScore(result, value)
this.resetStyle()
havePlayed = false
// Attente avant la suppression de la valeur adverse afin de s'assurer que l'autre joueur est prêt pour le rond suivant
setTimeout(async () => {this.resetGame(result)},700)
return
}
......@@ -97,6 +107,7 @@ export default {
},
updateScore: function (result, value) {
// Fonction mettant à jour le score et calculant si la partie est gagnée par un des deux joueurs
let i = 0;
if(result[0]['USER_ID'] == user.id){
i = 1
......@@ -144,6 +155,7 @@ export default {
}
},
updateUser: async function(win, lost){
// Fonction appelée en fin de partie et qui met à jour les statistiques du joueur dans la base de donnée
if(user.id<1000000){
let rock = this.rock
let paper = this.paper
......@@ -164,6 +176,7 @@ export default {
,
resetGame: async function(result) {
// Fonction appelée à la fin d'un round et qui supprime le résultat adverse du round
let i = 0;
if(result[0]['USER_ID'] == user.id){
i = 1
......@@ -178,6 +191,7 @@ export default {
},
resetStyle: function () {
// Fonction appelée en fin de round et qui remet à zéro le style des boutons de jeu
document.getElementById("rock").classList.remove("selected")
document.getElementById("paper").classList.remove("selected")
document.getElementById("scissors").classList.remove("selected")
......
......@@ -108,6 +108,7 @@ export default {
},
methods: {
check: function(){
// Fonction vérifiant et mettant en forme les données pour la fonction call
let firstname = this.firstname
let lastname = this.lastname
let login = this.login
......@@ -137,6 +138,7 @@ export default {
},
call: function(data){
// Fonction permetant d'ajouter l'utilisateur à la base
const url = sessionStorage.getItem('APIURL') + "/user"
var params = {
......
......@@ -53,6 +53,7 @@
</style>
<script>
// Appel des variables globales user et game
const user = require("../model/user.js")
const game = require("../model/game.js")
export default {
......@@ -62,6 +63,7 @@ export default {
},
methods: {
rejoindre: async function(){
// Fonction inscrivant le joueur au code de game rentré et le redirigeant vers la page d'attente privée
if((Number(this.idgame) != this.idgame || Number(this.idgame) < 0 )){
return
}
......
......@@ -77,12 +77,13 @@
</style>
<script>
// Appel des variables globales user
const user = require("../model/user.js")
export default {
name: 'Login',
data(){ // the data, declared as function
return{ // we return all the properties that should be react on.
data(){
return{
log: '',
pass: ''
......@@ -90,6 +91,7 @@ export default {
},
methods: {
check: function(){
// Fonction vérifiant et mettant en forme les données pour la fonction call
let login = this.log
let password = this.pass
var bcrypt = require('bcryptjs');
......@@ -99,6 +101,8 @@ export default {
},
call: function(login, password){
// Fonction vérifiant les valeurs transmise par l'utilsateur et enregistre ses informations dans la variable "user" en cas de réponse positive
// Fonction redirigeant à l'accueil une fois la connexion réussi
const url = sessionStorage.getItem('APIURL') + "/login"
let data = {
......
......@@ -37,6 +37,7 @@
<script>
// Appel des variables globales user et game
const user = require("../model/user.js")
const game = require("../model/game.js")
......@@ -45,6 +46,8 @@ export default {
methods: {
ajouterUser: async function() {
// Fonction ajoutant l'utilisateur à la fil d'attente des perosnnes en ligne
// Elle appelle ensuite la fonction "findGame"
await fetch(
sessionStorage.getItem('APIURL') + `/online/${user.id}`,
{
......@@ -55,6 +58,8 @@ export default {
},
findGame: async function(){
// Fonction appeler la première fois par "ajouterUser" puis par elle même toute les secondes en cas de non affectation à une partie
// Fonction permetant de récupéré le code la game auquel le user est affecté
const res = await fetch(
sessionStorage.getItem('APIURL') + `/online/${user.id}`,
{
......@@ -73,6 +78,8 @@ export default {
},
goGame: async function(gameID) {
// Fonction vérifiant que deux personne sont bien dans la partie avant de lancer la partie
// Si il est tout seul dans la partie, la fonction se rapelle toute les secondes
let url = sessionStorage.getItem('APIURL') + "/gameuser/game"
url += "/" + gameID;
var params = {
......@@ -85,10 +92,12 @@ export default {
this.$router.push(`/game/${gameID}`)
return
}
setTimeout(() => {this.goGame(gameID)}, 2000)
setTimeout(() => {this.goGame(gameID)}, 1000)
},
retour: async function() {
// Fonction permettant de retourner à l'accueil en cas d'appui sur le bouton retour
// La fonction supprime l'user de la liste d'attente online avant de le rediriger vers l'accueil
let data = {
"GAME_ID": game.id
}
......@@ -105,6 +114,7 @@ export default {
},
beforeMount(){
// Appel de la fonction "ajouterUser" lors du chargement de la page
this.ajouterUser();
},
}
......
......@@ -28,15 +28,13 @@
</style>
<script>
// const user = require("../model/user.js")
// Appel des variables globales game
const game = require("../model/game.js")
export default {
name: 'PlayerPrivate',
methods: {
gameID: function(){
return game.id
},
JoueurPresent: async function(){
// Fonction permettant d'afficher les joueurs présent et de rediger vers la partie lors de l'obtention du nombre de joueurs souhaités
let url = sessionStorage.getItem('APIURL') + "/gameuser/game"
url += "/" + game.id;
var params = {
......
......@@ -83,6 +83,7 @@
</style>
<script>
// Appel des variables globales user
const user = require("../model/user.js")
export default {
......@@ -101,6 +102,7 @@ export default {
},
methods: {
check: function(){
// Fonction vérifiant et mettant en forme les données pour la fonction call
if(this.firstname == ""){
var first = user.first
......@@ -139,6 +141,10 @@ export default {
},
call: function(data){
// Fonction mettant à jour les infos de l'utilisateur dans la base de donnée
// La fonction met également à jour la variable globale "user"
// Renvoi à l'accueil une fois la fonction terminée
const url = sessionStorage.getItem('APIURL') + `/user/${user.id}`
var params = {
......
......@@ -50,6 +50,7 @@
</style>
<script>
// Appel des variables globales user
const user = require("../model/user.js")
export default {
......@@ -64,6 +65,7 @@ export default {
},
methods: {
getStats: async function() {
// Fonction récupérant les stats d'un user et qui met la variable "user" à jour
await fetch(
sessionStorage.getItem('APIURL') + `/user/${user.id}`,
{
......@@ -84,6 +86,7 @@ export default {
},
beforeMount(){
// Appel de la fonction "getStats" au chargement de la page
this.getStats();
},
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment