@ -27,6 +27,8 @@ export default{
methods : {
creerPartie : function ( ) {
this . lettresDejaDevine = "" ;
this . lettresANePasFaireDevinerAuJoueur = "" ;
/ / a p p e l e r l ' A P I
fetch ( ` ${ REST _API } /scientifiques?page= ` + this . intAleatoire ( this . api _pagesMaximum ) ) . then ( response => {
response . json ( ) . then ( json => {
@ -35,21 +37,22 @@ export default{
const scientifiqueADeviner = arrayScientifique [ this . intAleatoire ( arrayScientifique . length ) ]
/ / p r e n d r e l e m o t a d e v i n e r a p a r t i r d u n o m d u s c i e n t i f i q u e
this . motADeviner = scientifiqueADeviner . nom . toLowerCase ( ) + " " + scientifiqueADeviner . prenom . toLowerCase ( )
this . nbLettresADeviner = this . motADeviner . length
this . description = scientifiqueADeviner . descriptif
this . viesRestantes = 10 ; / / T O D O u t i l i s e r l ' a p i
/ / m e t t r e a j o u r l e n o m b r e d e p a g e s m a x i m u m d e l ' a p i s c i e n t i f i q u e s
this . api _pagesMaximum = json . page . totalPages
/ / v e r i f i e r q u e l e m o t a d e v i n e r n e c o n t i e n t p a s d e s l e t t r e s e x e m p t é e s
this . lettresDejaDevine = "" ;
this . lettresANePasFaireDevinerAuJoueur = "" ;
this . motADeviner . split ( "" ) . forEach ( lettre =>
this . regexExceptions . forEach ( regex => regex . test ( lettre ) ? this . lettresANePasFaireDevinerAuJoueur += lettre /* faire jouer la lettre a la place de l'utilisateur */ : null )
)
/ / r a f r a i c h i r l a p r o g r e s s i o n p o u r e n l e v e r l e s l e t t r e s a n e p a s f a i r e d e v i n e r
this . progression = this . afficherProgression ( )
/ / c o m p t e r l e n o m b r e d e t r o u s ( e n l e v e r t o u t c e q u i e s t p a s u n d e r s c o r e e t c o m p t e r )
this . nbLettresADeviner = this . progression . replace ( /[^_]/g , "" ) . length
this . viesRestantes = 10 ;
/ / d e m a r r e r l e j e u
this . afficherLeJeu ( )
} )
@ -60,14 +63,23 @@ export default{
this . premierePartie = false ;
} ,
deviner : function ( event ) {
/ / T O D O r e v o i r c e t r u c
/ / p r e n d r e l a l e t t r e d e p u i s l ' e v e n t
const lettreDevinee = event . data . toLowerCase ( ) ;
/ / v i d e r l ' i n p u t
event . target . value = "" ;
/ / v o i r s i l a l e t t r e d e v i n é e e s t v a l i d e
let lettreValide = true
this . regexExceptions . forEach ( regex => lettreValide ? lettreValide = ! regex . test ( lettreDevinee ) : null )
if ( ! lettreValide ) {
/ / n e p a s f a i r e d e v i n e r u n e l e t t r e i n v a l i d e
return
}
/ / a j o u t e r l a l e t t r e d a n s l a l i s t e d e s l e t t r e s d e v i n é e s
if ( ! this . lettresDejaDevine . includes ( lettreDevinee ) ) {
this . lettresDejaDevine += lettreDevinee ;
} else {
/ / n e p a s f a i r e d e v i n e r u n e l e t t r e q u i a d e j a é t é d e v i n é e
return
}
/ / c o m p a r e r l a p r o g r e s s i o n
@ -96,8 +108,8 @@ export default{
this . motADeviner . split ( "" ) . forEach ( w => lettresAAfficher . includes ( w ) ? progression += w : progression += "_" ) ;
return progression ;
} ,
intAleatoire : function ( nb Pages ) {
return Math . floor ( Math . random ( ) * nb Pages )
intAleatoire : function ( nb ) {
return Math . floor ( Math . random ( ) * nb )
}
} ,
components : { PenduDessin }
@ -126,7 +138,7 @@ export default{
< / div >
< div v-if ="!partieTerminee" class="divjeu" >
<!-- PenduDessin > < / P e n d u D e s s i n - - >
<!-- PenduDessin : viesRestantes = "viesRestantes" > < / P e n d u D e s s i n - - >
< / div >
< div v-if ="!partieTerminee" class="divjeu" >