From 0e88befa3e8e2d18cd98bca334cf5b15c72c1c6f Mon Sep 17 00:00:00 2001 From: Pierre Ferreira Date: Tue, 28 Nov 2023 15:07:41 +0100 Subject: [PATCH 1/6] gestion des la liste de player :zap: --- .../src/Components/PersonStatus.tsx | 43 ++++++++++++------- .../src/Components/PlayerList.tsx | 15 ++++++- cryptide_project/src/Pages/EndGame.tsx | 2 +- 3 files changed, 41 insertions(+), 19 deletions(-) diff --git a/cryptide_project/src/Components/PersonStatus.tsx b/cryptide_project/src/Components/PersonStatus.tsx index a66429d..c2902c8 100644 --- a/cryptide_project/src/Components/PersonStatus.tsx +++ b/cryptide_project/src/Components/PersonStatus.tsx @@ -17,11 +17,12 @@ interface PlayerStatusProps { setPlayerTouched: (newPlayerTouch: number) => void; playerTouched: number showCircle: boolean + IsActualPlayer : boolean } let touchedPlayer = -1 //@ts-ignore -const PersonStatus: React.FC = ({img = Person, state= Person, name = "Dummy", index, playerTouched, setPlayerTouched, showCircle}) => { +const PersonStatus: React.FC = ({img = Person, state= Person, name = "Dummy", index, playerTouched, setPlayerTouched, showCircle, IsActualPlayer}) => { const theme=useTheme(); const {players} = useGame() if (players[index] instanceof Bot){ @@ -32,22 +33,32 @@ const PersonStatus: React.FC = ({img = Person, state= Person, useEffect(() =>{ setTouchedPlayer(playerTouched) }, [playerTouched]) + + let isCurrentPlayer = true + let buffer = '' + if (isCurrentPlayer){ + buffer = 'solid 1px green' + } return ( -
setPlayerTouched(index)}> - player -
{name}
- - {(touchedPlayer == index && showCircle) ?( -
- state -
- ): showCircle && - ( -
- state -
- ) } - +
+
setPlayerTouched(index)}> + player +
{name}
+ + {IsActualPlayer && ( + (touchedPlayer == index && showCircle) ?( +
+ state +
+ ): showCircle && + ( +
+ state +
+ ) + )} + +
); } diff --git a/cryptide_project/src/Components/PlayerList.tsx b/cryptide_project/src/Components/PlayerList.tsx index 3dc36d7..7018e3b 100644 --- a/cryptide_project/src/Components/PlayerList.tsx +++ b/cryptide_project/src/Components/PlayerList.tsx @@ -14,7 +14,7 @@ interface PlayerListProps { players: Player[]; playerTouched: number setPlayerTouched: (newPlayerTouch: number) => void; - } +} const PlayerList: React.FC = ({ players, playerTouched, setPlayerTouched}) => { const theme = useTheme(); @@ -25,7 +25,18 @@ const PlayerList: React.FC = ({ players, playerTouched, setPlay { //@ts-ignore players.map((player, index) => ( - player.id!=socket.id && + //player.id!=socket.id && + )) }
diff --git a/cryptide_project/src/Pages/EndGame.tsx b/cryptide_project/src/Pages/EndGame.tsx index e695e8d..5d89576 100644 --- a/cryptide_project/src/Pages/EndGame.tsx +++ b/cryptide_project/src/Pages/EndGame.tsx @@ -98,7 +98,7 @@ function EndGame() {
{player.id !== winner?.id && (
- {}} index={index} showCircle={false}/> + {}} index={index} IsActualPlayer={false} showCircle={false}/>
{indices[players.findIndex((p) => p.id == player?.id)].ToString("fr")}
)} From 213d8097f015cc2be3698704bd6c663dd74736f1 Mon Sep 17 00:00:00 2001 From: Thomas Chazot Date: Tue, 28 Nov 2023 15:51:43 +0100 Subject: [PATCH 2/6] =?UTF-8?q?joueur=20choisi=20affich=C3=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/Components/GraphContainer.tsx | 10 ++++++- .../src/Components/PersonStatus.tsx | 30 ++++++++++++++----- .../src/Components/PlayerList.tsx | 5 ++-- cryptide_project/src/Pages/EndGame.tsx | 2 +- cryptide_project/src/Pages/InGame.tsx | 11 +++++-- 5 files changed, 44 insertions(+), 14 deletions(-) diff --git a/cryptide_project/src/Components/GraphContainer.tsx b/cryptide_project/src/Components/GraphContainer.tsx index 44c8aa5..4aa7d07 100644 --- a/cryptide_project/src/Components/GraphContainer.tsx +++ b/cryptide_project/src/Components/GraphContainer.tsx @@ -26,6 +26,7 @@ interface MyGraphComponentProps { isEasy: boolean setNetwork: (network: Network) => void showLast: boolean + setPlayerIndex: (playerIndex: number) => void } let lastAskingPlayer = 0 @@ -42,11 +43,12 @@ let cptHistory = 0 let lastNodes: NodePerson[] = [] let cptEndgame = 0 let firstEnigme = true +let firstIndex = true let endgame= false let firstHistory = true -const MyGraphComponent: React.FC = ({onNodeClick, handleShowTurnBar, handleTurnBarTextChange, playerTouched, setPlayerTouched, changecptTour, solo, isDaily, isEasy, addToHistory, showLast, setNetwork}) => { +const MyGraphComponent: React.FC = ({onNodeClick, handleShowTurnBar, handleTurnBarTextChange, playerTouched, setPlayerTouched, changecptTour, solo, isDaily, isEasy, addToHistory, showLast, setNetwork, setPlayerIndex}) => { let cptTour: number = 0 //* Gestion du temps : @@ -116,6 +118,11 @@ const MyGraphComponent: React.FC = ({onNodeClick, handleS }, [showLast]) let playerIndex: number = turnPlayerIndex + + if (firstIndex){ + firstIndex=false + setPlayerIndex(playerIndex) + } let index = 0 for (let i=0; i = ({onNodeClick, handleS if (node!=undefined){ onNodeClick(false) playerIndex = newPlayerIndex + setPlayerIndex(playerIndex) if (mapIndexPersons.get(askedIndex)?.find((p) => p.getId() == id) == undefined){ const p = personNetwork.getPersons().find((p)=> p.getId() == id) const tab = mapIndexPersons.get(askedIndex) diff --git a/cryptide_project/src/Components/PersonStatus.tsx b/cryptide_project/src/Components/PersonStatus.tsx index c2902c8..8658aa2 100644 --- a/cryptide_project/src/Components/PersonStatus.tsx +++ b/cryptide_project/src/Components/PersonStatus.tsx @@ -17,31 +17,45 @@ interface PlayerStatusProps { setPlayerTouched: (newPlayerTouch: number) => void; playerTouched: number showCircle: boolean - IsActualPlayer : boolean + playerIndex: number } let touchedPlayer = -1 //@ts-ignore -const PersonStatus: React.FC = ({img = Person, state= Person, name = "Dummy", index, playerTouched, setPlayerTouched, showCircle, IsActualPlayer}) => { +const PersonStatus: React.FC = ({img = Person, state= Person, name = "Dummy", index, playerTouched, setPlayerTouched, showCircle, playerIndex}) => { const theme=useTheme(); - const {players} = useGame() + const {players, actualPlayerIndex} = useGame() if (players[index] instanceof Bot){ img = BotImg } + const [buffer, setBuffer] = useState("") + const [touchedPlayer, setTouchedPlayer] = useState(-2) useEffect(() =>{ setTouchedPlayer(playerTouched) }, [playerTouched]) - let isCurrentPlayer = true - let buffer = '' - if (isCurrentPlayer){ - buffer = 'solid 1px green' + let IsActualPlayer = index != actualPlayerIndex + + useEffect(() => { + if (playerIndex===index){ + setBuffer('solid 1px green') + } + else{ + setBuffer('') + } + }, [playerIndex]) + + function onTouch(){ + if (IsActualPlayer){ + setPlayerTouched(index) + } } + return (
-
setPlayerTouched(index)}> +
onTouch()}> player
{name}
diff --git a/cryptide_project/src/Components/PlayerList.tsx b/cryptide_project/src/Components/PlayerList.tsx index 7018e3b..52e6f2d 100644 --- a/cryptide_project/src/Components/PlayerList.tsx +++ b/cryptide_project/src/Components/PlayerList.tsx @@ -14,9 +14,10 @@ interface PlayerListProps { players: Player[]; playerTouched: number setPlayerTouched: (newPlayerTouch: number) => void; + playerIndex: number } -const PlayerList: React.FC = ({ players, playerTouched, setPlayerTouched}) => { +const PlayerList: React.FC = ({ players, playerTouched, setPlayerTouched, playerIndex}) => { const theme = useTheme(); return ( @@ -36,7 +37,7 @@ const PlayerList: React.FC = ({ players, playerTouched, setPlay setPlayerTouched={setPlayerTouched} index={index} showCircle={true} - IsActualPlayer={player.id!=socket.id}/> + playerIndex={playerIndex}/> )) }
diff --git a/cryptide_project/src/Pages/EndGame.tsx b/cryptide_project/src/Pages/EndGame.tsx index 5d89576..1c24b76 100644 --- a/cryptide_project/src/Pages/EndGame.tsx +++ b/cryptide_project/src/Pages/EndGame.tsx @@ -98,7 +98,7 @@ function EndGame() {
{player.id !== winner?.id && (
- {}} index={index} IsActualPlayer={false} showCircle={false}/> + {}} index={index} playerIndex={-2} showCircle={false}/>
{indices[players.findIndex((p) => p.id == player?.id)].ToString("fr")}
)} diff --git a/cryptide_project/src/Pages/InGame.tsx b/cryptide_project/src/Pages/InGame.tsx index a93af7a..7d1c015 100644 --- a/cryptide_project/src/Pages/InGame.tsx +++ b/cryptide_project/src/Pages/InGame.tsx @@ -102,6 +102,8 @@ const InGame = ({locale, changeLocale}) => { const [showTurnBar, setShowTurnBar] = useState(false); const [turnBarText, setTurnBarText] = useState(""); const [playerTouched, setPlayerTouched] = useState(-2) + const [playerIndex, setPlayerIndex] = useState(-2) + const [network, setNetwork] = useState(null) @@ -126,6 +128,10 @@ const InGame = ({locale, changeLocale}) => { setTurnBarText(newTurnBarText) } + const setPlayerIndexData = (playerIndex: number) => { + setPlayerIndex(playerIndex) + } + const generateTEX = () => { if (network != null && personNetwork != null && person != null){ const tex = generateLatexCode(personNetwork, person, indices, network) @@ -229,7 +235,8 @@ const InGame = ({locale, changeLocale}) => { setPlayerTouched={handleSetPlayerTouched} playerTouched={playerTouched} setNetwork={setNetworkData} - showLast={showLast}/> + showLast={showLast} + setPlayerIndex={setPlayerIndexData}/>
@@ -358,7 +365,7 @@ const InGame = ({locale, changeLocale}) => { { !IsSolo &&
- +
} From 470899897b5f3804b5cabd4bb24d54419259d673 Mon Sep 17 00:00:00 2001 From: Pierre Ferreira Date: Tue, 28 Nov 2023 16:15:35 +0100 Subject: [PATCH 3/6] tueur -> coupable :pencil2: --- cryptide_project/src/Components/GraphContainer.tsx | 2 +- cryptide_project/src/Pages/EndGame.tsx | 4 ++-- cryptide_project/src/Pages/Home.tsx | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/cryptide_project/src/Components/GraphContainer.tsx b/cryptide_project/src/Components/GraphContainer.tsx index 945b4e3..872ae29 100644 --- a/cryptide_project/src/Components/GraphContainer.tsx +++ b/cryptide_project/src/Components/GraphContainer.tsx @@ -727,7 +727,7 @@ const MyGraphComponent: React.FC = ({onNodeClick, handleS } index++ } - addToHistory(person.getName() + " n'est pas le tueur !"); //TODO préciser le nombre d'indice qu'il a de juste + 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; diff --git a/cryptide_project/src/Pages/EndGame.tsx b/cryptide_project/src/Pages/EndGame.tsx index 03ad0b4..221aa12 100644 --- a/cryptide_project/src/Pages/EndGame.tsx +++ b/cryptide_project/src/Pages/EndGame.tsx @@ -77,7 +77,7 @@ function EndGame() {

{winner?.pseudo} a gagné !

-

Le tueur était {person?.getName()}

+

Le coupable était {person?.getName()}

@@ -110,7 +110,7 @@ function EndGame() {

Vous avez gagné !

-

Le tueur était {person?.getName()}

+

Le coupable était {person?.getName()}

diff --git a/cryptide_project/src/Pages/Home.tsx b/cryptide_project/src/Pages/Home.tsx index b0aff2a..991761e 100644 --- a/cryptide_project/src/Pages/Home.tsx +++ b/cryptide_project/src/Pages/Home.tsx @@ -47,7 +47,7 @@ function Home() {

Introduction

{/* */} - Bienvenue dans notre jeu de déduction captivant, où l'intrigue et la malice se rejoignent dans une aventure palpitante ! Plongez-vous dans un monde de mystère et d'intrigue, où chaque interaction compte, et chaque indice vous rapproche de la vérité.Imaginez un graphique complexe où chaque sommet représente une personne, chaque axe une relation, et chaque détail compte. Vous êtes plongé dans un défi stimulant pour découvrir qui parmi ces individus est le mystérieux tueur. Chaque joueur détient un indice crucial, et seul le partage stratégique de ces indices vous mènera à la résolution du mystère. Explorez notre page de règles pour comprendre les subtilités du jeu, découvrez les indices qui peuvent vous guider, et élaborez des stratégies intelligentes pour identifier le coupable. Manipuler vos amis, afin d'être le premier à découvrir qui est le meurtrier ! Êtes-vous prêt à relever le défi et à démasquer le tueur caché dans le graphe ? Que l'enquête commence ! + Bienvenue dans notre jeu de déduction captivant, où l'intrigue et la malice se rejoignent dans une aventure palpitante ! Plongez-vous dans un monde de mystère et d'intrigue, où chaque interaction compte, et chaque indice vous rapproche de la vérité.Imaginez un graphique complexe où chaque sommet représente une personne, chaque axe une relation, et chaque détail compte. Vous êtes plongé dans un défi stimulant pour découvrir qui parmi ces individus est le mystérieux coupable. Chaque joueur détient un indice crucial, et seul le partage stratégique de ces indices vous mènera à la résolution du mystère. Explorez notre page de règles pour comprendre les subtilités du jeu, découvrez les indices qui peuvent vous guider, et élaborez des stratégies intelligentes pour identifier le coupable. Manipuler vos amis, afin d'être le premier à découvrir qui est le meurtrier ! Êtes-vous prêt à relever le défi et à démasquer le coupable caché dans le graphe ? Que l'enquête commence !

From 4836fff5418c8c6d8089715442c82eef62ae3cde Mon Sep 17 00:00:00 2001 From: Thomas Chazot Date: Tue, 28 Nov 2023 16:25:07 +0100 Subject: [PATCH 4/6] Bug fix des noms undefined --- cryptide_project/src/Components/NavBar.tsx | 3 --- cryptide_project/src/Pages/EndGame.tsx | 2 -- cryptide_project/src/Pages/Play.tsx | 4 +--- cryptide_project/src/Pages/Profile.tsx | 1 - cryptide_project/src/Script/LatexScript.tsx | 2 +- cryptide_project/src/model/NetworkGenerator.ts | 2 +- 6 files changed, 3 insertions(+), 11 deletions(-) diff --git a/cryptide_project/src/Components/NavBar.tsx b/cryptide_project/src/Components/NavBar.tsx index 2451992..2adb94e 100644 --- a/cryptide_project/src/Components/NavBar.tsx +++ b/cryptide_project/src/Components/NavBar.tsx @@ -32,9 +32,6 @@ function AppNavbar({changeLocale}) { const navigate = useNavigate(); - useEffect(() => { - console.log(user) - }, [user]) function navigateToProfile(){ navigate("/profile") diff --git a/cryptide_project/src/Pages/EndGame.tsx b/cryptide_project/src/Pages/EndGame.tsx index df73198..d28eeb3 100644 --- a/cryptide_project/src/Pages/EndGame.tsx +++ b/cryptide_project/src/Pages/EndGame.tsx @@ -68,8 +68,6 @@ function EndGame() { } const theme = useTheme(); - console.log(winner) - console.log(indices) return (
{!IsSolo ? ( diff --git a/cryptide_project/src/Pages/Play.tsx b/cryptide_project/src/Pages/Play.tsx index 9239d16..d45d51f 100644 --- a/cryptide_project/src/Pages/Play.tsx +++ b/cryptide_project/src/Pages/Play.tsx @@ -119,14 +119,12 @@ function Play() { socket.emit("lobby created") } - useEffect(() => { - console.log(user) - }, [user]) function launchMastermind(){ const [networkPerson, choosenPerson, choosenIndices] = GameCreator.CreateGame(3, 30) setPersonData(choosenPerson) setPersonNetworkData(networkPerson) + console.log(networkPerson) setIndicesData(choosenIndices) setIndicesData(choosenIndices) navigate('/game?solo=true&daily=false'); diff --git a/cryptide_project/src/Pages/Profile.tsx b/cryptide_project/src/Pages/Profile.tsx index aabb873..556a674 100644 --- a/cryptide_project/src/Pages/Profile.tsx +++ b/cryptide_project/src/Pages/Profile.tsx @@ -84,7 +84,6 @@ const Profile = () => { // Verification de la phrase if (confirmationPhrase.toLowerCase() === 'supprimer mon compte') { console.log('Compte supprimé !'); - console.log(user); if(user!= null){ const pseudo = user.pseudo; diff --git a/cryptide_project/src/Script/LatexScript.tsx b/cryptide_project/src/Script/LatexScript.tsx index 59b4794..18f4fcb 100644 --- a/cryptide_project/src/Script/LatexScript.tsx +++ b/cryptide_project/src/Script/LatexScript.tsx @@ -124,7 +124,7 @@ function generateLatexCodeEnigme(personsNet : PersonNetwork, choosenPerson : Per latexCode+= "\\begin{tikzpicture}[scale=.18]\n" - personsNet.getPersons().forEach((person, index) => { + personsNet.getPersons().sort().forEach((person, index) => { var nodesData = network.getPositions(); // Obtenir les coordonnées du nœud diff --git a/cryptide_project/src/model/NetworkGenerator.ts b/cryptide_project/src/model/NetworkGenerator.ts index 8b9b39b..e01f988 100644 --- a/cryptide_project/src/model/NetworkGenerator.ts +++ b/cryptide_project/src/model/NetworkGenerator.ts @@ -17,7 +17,7 @@ class NetworkGenerator{ const tabPerson: Person[] = [] - const tabNames = json.names + const tabNames = [...json.names] /* let id = 0 From 07ffe52c2b6fd854886e2c03194522721cf6ff46 Mon Sep 17 00:00:00 2001 From: Thomas Chazot Date: Tue, 28 Nov 2023 16:26:11 +0100 Subject: [PATCH 5/6] =?UTF-8?q?Suppression=20du=20log=20de=20la=20personne?= =?UTF-8?q?=20recherch=C3=A9e?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cryptide_project/src/Components/GraphContainer.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cryptide_project/src/Components/GraphContainer.tsx b/cryptide_project/src/Components/GraphContainer.tsx index c82adfa..9cd3807 100644 --- a/cryptide_project/src/Components/GraphContainer.tsx +++ b/cryptide_project/src/Components/GraphContainer.tsx @@ -587,7 +587,7 @@ const MyGraphComponent: React.FC = ({onNodeClick, handleS } if (a==indices.length){ //networkData.nodes.update({id: p.getId(), label: p.getName() + "\n🔵"}) - console.log(p) + //console.log(p) } }); From be4b6db1b79d76bef2d6acbd170c45c4e6ab39af Mon Sep 17 00:00:00 2001 From: Thomas CHAZOT Date: Tue, 28 Nov 2023 16:48:11 +0100 Subject: [PATCH 6/6] =?UTF-8?q?Mise=20=C3=A0=20jour=20de=20'cryptide=5Fpro?= =?UTF-8?q?ject/social=5Fgraph.sh'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cryptide_project/social_graph.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/cryptide_project/social_graph.sh b/cryptide_project/social_graph.sh index 2697c2f..9e56209 100755 --- a/cryptide_project/social_graph.sh +++ b/cryptide_project/social_graph.sh @@ -1,5 +1,6 @@ #!/bin/sh +npm install --force if lsof -Pi :3000 -sTCP:LISTEN -t >/dev/null; then # Tuer le processus associé au port