fix du bug pour les modes solos
continuous-integration/drone/push Build is passing Details

pull/103/head
Thomas Chazot 1 year ago
parent b6582c8d16
commit 2c574a5d72

@ -1002,71 +1002,66 @@ const MyGraphComponent: React.FC<MyGraphComponentProps> = ({onNodeClick, handleS
} }
else{ else{
//@ts-ignore //@ts-ignore
const person = personNetwork?.getPersons().find((p) => p.getId() == params.nodes[0]) //person sélectionnée const personTest = personNetwork?.getPersons().find((p) => p.getId() == params.nodes[0]) //person sélectionnée
if (person != undefined){ const node = nodes.get().find((n: any) => params.nodes[0] == n.id)
if (personTest != undefined && !node.label.includes(positionToEmoji(index, true)) && !node.label.includes(positionToEmoji(index, false))){ //si la personne existe et que le noeud n'a pas déjà été cliqué
let index =0 let index =0
let works = true
for (const i of indices){ for (const i of indices){
const tester = IndiceTesterFactory.Create(i) const tester = IndiceTesterFactory.Create(i)
const test = tester.Works(person) const test = tester.Works(personTest)
//@ts-ignore //@ts-ignore
const node = nodes.get().find((n) => params.nodes[0] == n.id)
if (node!=undefined){ if (node!=undefined){
if (!node.label.includes(positionToEmoji(index, test))){ const nodeNode = nodes.get().find((n: any) => params.nodes[0] == n.id)
networkData.nodes.update({id: params.nodes[0], label: node.label + positionToEmoji(index, test)}) networkData.nodes.update({id: params.nodes[0], label: nodeNode.label + positionToEmoji(index, test)})
await delay(500) await delay(500);
if(!test){ }
works = false index++
} }
if (index == indices.length - 1 && works){ if (person !== null && person.getId() === params.nodes[0]){
if (user!=null){ if (user!=null){
setWinnerData(user) setWinnerData(user)
setNetworkDataData(networkData) setNetworkDataData(networkData)
} }
cptTour ++; cptTour ++;
setNbCoupData(cptTour) setNbCoupData(cptTour)
setElapsedTime(0) setElapsedTime(0)
endgame = true endgame = true
try{ try{
if(user && isLoggedIn){ if(user && isLoggedIn){
if(solo){ if(solo){
if(isDaily){ if(isDaily){
// TODO: verif difficulté et add les stats // TODO: verif difficulté et add les stats
// TODO: verif pour facile et difficile, si réussi en one shot ou non // TODO: verif pour facile et difficile, si réussi en one shot ou non
if(isEasy){ if(isEasy){
manager.userService.addEasyEnigmaStats(user.pseudo, 1, elapsedTime); manager.userService.addEasyEnigmaStats(user.pseudo, 1, elapsedTime);
} }
else{ else{
manager.userService.addHardEnigmaStats(user.pseudo, 1, elapsedTime); manager.userService.addHardEnigmaStats(user.pseudo, 1, elapsedTime);
}
}
else{
// add stats mastermind
if(user && user.mastermindStats){
manager.userService.addMastermindStats(user.pseudo, cptTour, elapsedTime);
}
}
}
} }
} }
catch(error){ else{
console.log(error); // add stats mastermind
if(user && user.mastermindStats){
manager.userService.addMastermindStats(user.pseudo, cptTour, elapsedTime);
}
} }
navigate(`${basePath}/endgame?solo=true&daily=${isDaily}`)
} }
} }
} }
index++ catch(error){
console.log(error);
}
navigate(`${basePath}/endgame?solo=true&daily=${isDaily}`)
}
else{
addToHistory(personTest.getName() + " n'est pas le coupable !"); //TODO préciser le nombre d'indice qu'il a de juste
cptTour ++; // On Incrémente le nombre de tour du joueur
const tour = cptTour+1;
addToHistory("<----- [Tour " + tour +"/"+networkData.nodes.length + "] ----->");
changecptTour(cptTour); // On le transmet a la page précédente avec la fonction
} }
addToHistory(person.getName() + " n'est pas le coupable !"); //TODO préciser le nombre d'indice qu'il a de juste
cptTour ++; // On Incrémente le nombre de tour du joueur
const tour = cptTour+1;
addToHistory("<----- [Tour " + tour +"/"+networkData.nodes.length + "] ----->");
changecptTour(cptTour); // On le transmet a la page précédente avec la fonction
} }
} }
} }

Loading…
Cancel
Save