|
|
|
@ -9,12 +9,13 @@ export default{
|
|
|
|
|
return{
|
|
|
|
|
card:new Card({"filling":"empty"}),
|
|
|
|
|
id:0,
|
|
|
|
|
deck : new Deck([0,1,2,3],3),
|
|
|
|
|
deck : new Deck([0,1,2],3),
|
|
|
|
|
selectedCards:[],
|
|
|
|
|
selectedCardsindex:[],
|
|
|
|
|
nbCardsSelected:0,
|
|
|
|
|
connected:'7/8',
|
|
|
|
|
timer:'10.51',
|
|
|
|
|
win:false,
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
methods:{
|
|
|
|
@ -22,11 +23,11 @@ export default{
|
|
|
|
|
if(this.nbCardsSelected>=this.deck.nbCards){
|
|
|
|
|
this.set();
|
|
|
|
|
}
|
|
|
|
|
else{
|
|
|
|
|
if(this.selectedCards[id]!=null){
|
|
|
|
|
else{// pas suffisament de cartes pour un set
|
|
|
|
|
if(this.selectedCards[id]!=null){// carte déja selectionnée
|
|
|
|
|
document.querySelector(`#id${id}`).setAttribute("style","border: none;cursor: pointer;");
|
|
|
|
|
this.nbCardsSelected-=1
|
|
|
|
|
this.selectedCards[id]=null
|
|
|
|
|
delete this.selectedCards[id]//pb
|
|
|
|
|
this.selectedCardsindex.splice(this.selectedCardsindex.indexOf(id),1)
|
|
|
|
|
}
|
|
|
|
|
else{
|
|
|
|
@ -41,9 +42,10 @@ export default{
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
set(){
|
|
|
|
|
console.log("this.selectedCards",this.selectedCards)
|
|
|
|
|
let checkSet=this.deck.checkSet(this.selectedCards);
|
|
|
|
|
if(checkSet){//is set
|
|
|
|
|
|
|
|
|
|
if(checkSet==2){//is set
|
|
|
|
|
this.win=true;
|
|
|
|
|
}
|
|
|
|
|
// remove red outline
|
|
|
|
|
this.selectedCardsindex.forEach((e) => {
|
|
|
|
@ -51,8 +53,8 @@ export default{
|
|
|
|
|
})
|
|
|
|
|
// flush array
|
|
|
|
|
this.nbCardsSelected=0;
|
|
|
|
|
this.selectedCards.splice(0,this.selectedCards.length+1)
|
|
|
|
|
this.selectedCardsindex.splice(0,this.selectedCardsindex.length+1)
|
|
|
|
|
this.selectedCards=[]
|
|
|
|
|
this.selectedCardsindex=[]
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
template:`
|
|
|
|
@ -63,8 +65,11 @@ export default{
|
|
|
|
|
<h2>Players: {{connected}}</h2>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<div v-bind:style="{border: '3px solid black', fontSize: '20px', display:'flex', 'flex-wrap':'wrap',margin:'1rem 18rem 20px 20px'}">
|
|
|
|
|
<div v-if="!win" v-bind:style="{border: '3px solid black', fontSize: '20px', display:'flex', 'flex-wrap':'wrap',margin:'1rem 17vw 20px 17vw'}">
|
|
|
|
|
<card-module @selected='selected' :id=n :card=this.deck.outputCards[n-1] v-for="n in deck.outputCards.length"/>
|
|
|
|
|
</div>
|
|
|
|
|
<div v-if="win">
|
|
|
|
|
<h2>Félicitations, vous venez de gagner la partie ! 🎉</h2>
|
|
|
|
|
</div>
|
|
|
|
|
`
|
|
|
|
|
}
|