parent
b4b3d44d09
commit
b85da10ead
@ -0,0 +1,71 @@
|
|||||||
|
<script>
|
||||||
|
export default{
|
||||||
|
data(){
|
||||||
|
return{
|
||||||
|
nbLettresADeviner:0,
|
||||||
|
progression:"",
|
||||||
|
viesRestantes:0, //0 == pendu; partie terminée
|
||||||
|
partieTerminee:false, //plus de lettres a deviner
|
||||||
|
premierePartie:true, //ne pas afficher "Perdu" pour ceux qui viennent de rejoindre
|
||||||
|
|
||||||
|
//local uniquement, le client ne saura pas le mot
|
||||||
|
debug_motADeviner:"einstein",
|
||||||
|
debug_nbLettresADeviner:8,
|
||||||
|
debug_lettresDejaDevine:"", //tout en minuscule*
|
||||||
|
//bloquer l'input si l'utilisateur met une lettre deja devinée
|
||||||
|
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods:{
|
||||||
|
creerPartie: function(){
|
||||||
|
this.partieTerminee=false
|
||||||
|
//l'api (PATCH demarrerPartie) retournera le nombre de lettres a deviner ainsi que le nombre de vies
|
||||||
|
this.nbLettresADeviner=this.debug_nbLettresADeviner; //TODO utiliser l'api
|
||||||
|
this.viesRestantes=10 // TODO utiliser l'api
|
||||||
|
|
||||||
|
this.progression="_".repeat(this.nbLettresADeviner);
|
||||||
|
|
||||||
|
this.debug_lettresDejaDevine=""
|
||||||
|
},
|
||||||
|
deviner: function(event){
|
||||||
|
//prendre la lettre depuis l'event
|
||||||
|
const lettreDevinee=event.data
|
||||||
|
//vider l'input
|
||||||
|
event.target.value="";
|
||||||
|
|
||||||
|
//envoyer lettreDevinee a l'api
|
||||||
|
this.progression=this.debug_letreDevinee(lettreDevinee)
|
||||||
|
if(!this.progression.includes("_")){
|
||||||
|
//plus de lettres a deviner
|
||||||
|
this.partieTerminee=true
|
||||||
|
}
|
||||||
|
this.viesRestantes-- //l'api pourrait nous donner le nombre de vies restantes
|
||||||
|
},
|
||||||
|
debug_letreDevinee: function(lettre){
|
||||||
|
let progression=""
|
||||||
|
this.debug_lettresDejaDevine+=lettre
|
||||||
|
this.debug_motADeviner.split("").forEach(w=>this.debug_lettresDejaDevine.includes(w) ? progression+=w : progression+="_")
|
||||||
|
return progression
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<template>
|
||||||
|
<div style="display:flex">
|
||||||
|
<button v-on:click="creerPartie">aéaezaeaeazeaz</button>
|
||||||
|
<!-- TODO : dessiner le pendu -->
|
||||||
|
<div>
|
||||||
|
<span>mot a deviner : </span>
|
||||||
|
<h2 style="font-family: monospace">{{ progression }}</h2>
|
||||||
|
</div>
|
||||||
|
<input type="text" minlength="1" maxlength="1" @input="deviner" v-if="viesRestantes && !partieTerminee">
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
|
||||||
|
<style>
|
||||||
|
|
||||||
|
|
||||||
|
</style>
|
Loading…
Reference in new issue