ajouter systeme d'exception de lettres (ne pas faire deviner les espaces a l'utilisateur)

front
gwen 1 year ago
parent 8d5aabc14d
commit 31b0b40410

@ -15,6 +15,11 @@ export default{
//a recuperer a partir de l'api (prendre nom et prenom d'un scientifique nous meme) //a recuperer a partir de l'api (prendre nom et prenom d'un scientifique nous meme)
motADeviner: "einstein", motADeviner: "einstein",
api_pagesMaximum: 0, //impossible de connaitre le nombre de page a l'avance api_pagesMaximum: 0, //impossible de connaitre le nombre de page a l'avance
regexExceptions: [ //caracteres qu'on ne fera pas deviner au joueur
/\W/, //caracteres blanc
/[^a-z]/, //non alphabetique minuscule
],
}; };
}, },
methods: { methods: {
@ -23,15 +28,21 @@ export default{
//appeler l'API //appeler l'API
fetch(`${REST_API}/scientifiques?page=`+this.intAleatoire(this.api_pagesMaximum)).then(response=>{ fetch(`${REST_API}/scientifiques?page=`+this.intAleatoire(this.api_pagesMaximum)).then(response=>{
response.json().then(json=>{ response.json().then(json=>{
//todo commenter ce truc
this.partieTerminee = false; this.partieTerminee = false;
this.premierePartie = false; this.premierePartie = false;
const arrayScientifique=json._embedded const arrayScientifique=json._embedded
const scientifiqueADeviner=arrayScientifique[this.intAleatoire(arrayScientifique.length)] const scientifiqueADeviner=arrayScientifique[this.intAleatoire(arrayScientifique.length)]
this.debug_motADeviner = scientifiqueADeviner.nom.toLowerCase() + " " + scientifiqueADeviner.prenom.toLowerCase() this.motADeviner = scientifiqueADeviner.nom.toLowerCase() + " " + scientifiqueADeviner.prenom.toLowerCase()
this.nbLettresADeviner = this.debug_motADeviner.length this.nbLettresADeviner = this.motADeviner.length
this.viesRestantes = 10; // TODO utiliser l'api this.viesRestantes = 10; // TODO utiliser l'api
this.progression = "_".repeat(this.nbLettresADeviner); this.progression = "_".repeat(this.nbLettresADeviner);
this.lettresDejaDevine = ""; this.lettresDejaDevine = "";
//verifier que le mot a deviner ne contient pas des lettres exemptées
this.motADeviner.split("").forEach(lettre=>
this.regexExceptions.forEach(regex=>regex.test(lettre) ? this.lettresDejaDevine+=lettre /* faire jouer la lettre a la place de l'utilisateur */ : null)
)
}) })
}) })
@ -67,11 +78,11 @@ export default{
}, },
debug_letreDevinee: function (lettre) { debug_letreDevinee: function (lettre) {
if (this.viesRestantes < 0) { if (this.viesRestantes < 0) {
return this.debug_motADeviner; //plus de vies = fin de la partie, l'api retourne le mot qu'on devait trouver return this.motADeviner; //plus de vies = fin de la partie, l'api retourne le mot qu'on devait trouver
} }
let progression = ""; let progression = "";
this.lettresDejaDevine += lettre; this.lettresDejaDevine += lettre;
this.debug_motADeviner.split("").forEach(w => this.lettresDejaDevine.includes(w) ? progression += w : progression += "_"); this.motADeviner.split("").forEach(w =>this.lettresDejaDevine.includes(w) ? progression += w : progression += "_");
return progression; return progression;
}, },
intAleatoire: function(nbPages){ intAleatoire: function(nbPages){

Loading…
Cancel
Save