From 12fd7dfa8ec786541969a8d7276bcaef331fd398 Mon Sep 17 00:00:00 2001 From: Pierre Ferreira Date: Tue, 21 Nov 2023 10:55:38 +0100 Subject: [PATCH] tentative vaine d'ajout de la position par vis.js :coffin: --- cryptide_project/Script/LatexScript.tsx | 89 ++++++++-- graph.aux | 4 +- graph.pdf | Bin 301524 -> 301173 bytes graph.tex | 206 ++++++++++++------------ 4 files changed, 182 insertions(+), 117 deletions(-) diff --git a/cryptide_project/Script/LatexScript.tsx b/cryptide_project/Script/LatexScript.tsx index e0e6479..aed90de 100644 --- a/cryptide_project/Script/LatexScript.tsx +++ b/cryptide_project/Script/LatexScript.tsx @@ -8,10 +8,11 @@ import Stub from "../src/model/Stub"; import GameCreator from "../src/model/GameCreator"; import Indice from "../src/model/Indices/Indice"; import { SportToString } from "../src/model/EnumExtender"; +import GraphCreator from "../src/model/Graph/GraphCreator"; +import { DataSet, Network } from "vis-network"; function generateLatexCode(personsNet : PersonNetwork, choosenPerson : Person, choosenIndices : Indice[]) { let latexCode = ""; - //*Setup @@ -23,11 +24,6 @@ function generateLatexCode(personsNet : PersonNetwork, choosenPerson : Person, c latexCode += "\\usetikzlibrary {shapes.multipart}\n" - - //! A quoi sert "fille" ? - // latexCode += "%\\newcommand{\\fille}[1]{\\underline{#1}}" - // latexCode += "\\newcommand{\\fille}[1]{#1} % Solution" - latexCode += "\\newcommand{\\Basketball}{\\includegraphics[width=.5cm]{ballon-de-basket.png}}\n" latexCode += "\\newcommand{\\Football}{\\includegraphics[width=.4cm]{ballon-de-foot.png}}\n" latexCode += "\\newcommand{\\Bowling}{\\includegraphics[width=.5cm]{bowling.png}}\n" @@ -43,16 +39,81 @@ function generateLatexCode(personsNet : PersonNetwork, choosenPerson : Person, c latexCode+= "\\begin{tikzpicture}[scale=.9]\n" - + //? Coordonnée en position. + //! marche pas + // const graph = GraphCreator.CreateGraph(personsNet) + + // const container = document.getElementById('graph-container'); + // if (!container) { + // console.error("Container not found"); + // return; + // } + // // Charger les données dans le graph + // const nodes = new DataSet(graph.nodesPerson); + + // // Configuration des options du Graphe + // const initialOptions = { + // layout: { + // improvedLayout: true, + // hierarchical: { + // enabled: false, + // direction: 'LR', // LR (Left to Right) ou autre selon votre préférence + // sortMethod: 'hubsize' + // } + // }, + // physics: { + // enabled: true, + // barnesHut: { + // gravitationalConstant: -1000, + // springConstant: 0.001, + // springLength: 100 + // } + // } + // }; + + // const networkData = { nodes: nodes, edges: graph.edges }; + // const network = new Network(container, networkData, initialOptions); + + personsNet.getPersons().forEach((person, index) => { + + // //? Coordonnée en forme de grille. const xCoordinate = index % 5; const yCoordinate = Math.floor(index / 5); + const scaledX = xCoordinate * 4; + const scaledY = yCoordinate * 4; + + latexCode += ` \\node[draw, circle split] (${person.getId()}) at (${scaledX},${scaledY}) { ${person.getName()} \\nodepart{lower}`; - const scaledX = xCoordinate * 2; - const scaledY = yCoordinate * 2; - latexCode += ` \\node[draw, circle split] (${person.getId()}) at (${scaledX},${scaledY}) { ${person.getName()} \\nodepart{lower}`; + + //? Coordonnée en position. + //! marche pas + // var nodesData = network.getPositions(); + // // for (var nodeId in nodesData) { + // // if (nodesData.hasOwnProperty(nodeId)) { + // // var position = nodesData[nodeId]; + // // console.log("Nœud " + nodeId + " - Position : x = " + position.x + ", y = " + position.y); + // // } + // // } + // // latexCode += ` \\node[draw, circle split] (${person.getId()}) at (${x},${y}) { ${person.getName()} \\nodepart{lower}`; //x et y de la position + + // // Obtenir les coordonnées du nœud + // const nodeId = person.getId().toString(); + // const position = nodesData[nodeId]; + // if (position) { + // const x = position.x.toFixed(2); // Arrondir à 2 décimales + // const y = position.y.toFixed(2); + + // latexCode += ` \\node[draw, circle split] (${person.getId()}) at (${x},${y}) { ${person.getName()} \\nodepart{lower}`; + + // person.getSports().forEach((sport) => { latexCode += ` \\${SportToString(sport, 'fr')}{}` }); + // latexCode += "};\n"; + // } else { + // console.error(`Les coordonnées du nœud ${nodeId} ne sont pas disponibles.`); + // } + person.getSports().forEach((sport) => { latexCode += ` \\${SportToString(sport, 'fr')}{}`}) latexCode += "};\n"; @@ -68,6 +129,7 @@ function generateLatexCode(personsNet : PersonNetwork, choosenPerson : Person, c latexCode += "\\end{tikzpicture}\n"; latexCode += "\\end{center}\n"; + //* Zone d'énoncé : latexCode += "\n\n\\paragraph{Première énigme}\n" @@ -96,5 +158,10 @@ const latexCode = generateLatexCode(networkPerson, choosenPerson, choosenIndices const filePath = './graph.tex'; -fs.writeFileSync(filePath, latexCode, 'utf-8'); +if (typeof latexCode === 'undefined') { + console.log('Variable is undefined'); +} +else{ + fs.writeFileSync(filePath, latexCode, 'utf-8'); +} console.log(`Le code LaTeX a été enregistré dans le fichier : ${filePath}`); diff --git a/graph.aux b/graph.aux index c62d3f9..cde4834 100644 --- a/graph.aux +++ b/graph.aux @@ -1,3 +1,3 @@ \relax -\@writefile{toc}{\contentsline {paragraph}{Première énigme}{1}{}\protected@file@percent } -\gdef \@abspage@last{1} +\@writefile{toc}{\contentsline {paragraph}{Première énigme}{2}{}\protected@file@percent } +\gdef \@abspage@last{2} diff --git a/graph.pdf b/graph.pdf index 6eec8b5ff8c457e58333993f0c84ce7fedd289cc..242fe3b08ac13f86f9fcbca106e55f2c4cbcafdb 100644 GIT binary patch delta 22225 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 YYfr4Nr@aFMMHf^W#vmr9d`pGlU$<(1IRF3v delta 22787 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 K3aaU=)BF#|e181^ diff --git a/graph.tex b/graph.tex index 929d91a..eaa16b7 100644 --- a/graph.tex +++ b/graph.tex @@ -14,110 +14,108 @@ Voici le graphe de SocialGraphe \begin{center} \begin{tikzpicture}[scale=.9] - \node[draw, circle split] (0) at (0,0) { Aaliyah \nodepart{lower} \Football{}}; - \node[draw, circle split] (1) at (2,0) { Evelyn \nodepart{lower} \Baseball{} \Bowling{}}; - \node[draw, circle split] (2) at (4,0) { Sebastian \nodepart{lower} \Tennis{} \Basketball{}}; - \node[draw, circle split] (3) at (6,0) { Emily \nodepart{lower} \Bowling{} \Tennis{}}; - \node[draw, circle split] (4) at (8,0) { Stella \nodepart{lower} \Baseball{} \Football{}}; - \node[draw, circle split] (5) at (0,2) { Sadie \nodepart{lower} \Basketball{} \Tennis{}}; - \node[draw, circle split] (6) at (2,2) { Savannah \nodepart{lower} \Baseball{} \Bowling{}}; - \node[draw, circle split] (7) at (4,2) { Ivy \nodepart{lower} \Basketball{} \Football{}}; - \node[draw, circle split] (8) at (6,2) { Olivia \nodepart{lower} \Basketball{}}; - \node[draw, circle split] (9) at (8,2) { Nora \nodepart{lower} \Baseball{} \Tennis{} \Bowling{}}; - \node[draw, circle split] (10) at (0,4) { Peyton \nodepart{lower} \Football{} \Bowling{}}; - \node[draw, circle split] (11) at (2,4) { Zoe \nodepart{lower} \Football{} \Baseball{}}; - \node[draw, circle split] (12) at (4,4) { Mason \nodepart{lower} \Tennis{}}; - \node[draw, circle split] (13) at (6,4) { Layla \nodepart{lower} \Basketball{} \Tennis{}}; - \node[draw, circle split] (14) at (8,4) { Chloe \nodepart{lower} \Baseball{} \Football{} \Basketball{}}; - \node[draw, circle split] (15) at (0,6) { Mia \nodepart{lower} \Bowling{}}; - \node[draw, circle split] (16) at (2,6) { Daniel \nodepart{lower} \Football{}}; - \node[draw, circle split] (17) at (4,6) { Charlotte \nodepart{lower} \Tennis{} \Basketball{}}; - \node[draw, circle split] (18) at (6,6) { Connor \nodepart{lower} \Baseball{} \Bowling{} \Tennis{}}; - \node[draw, circle split] (19) at (8,6) { Elijah \nodepart{lower} \Bowling{} \Football{}}; - \node[draw, circle split] (20) at (0,8) { Luke \nodepart{lower} \Baseball{}}; - \node[draw, circle split] (21) at (2,8) { Michael \nodepart{lower} \Basketball{} \Football{}}; - \node[draw, circle split] (22) at (4,8) { Aurora \nodepart{lower} \Basketball{} \Bowling{} \Baseball{}}; - \node[draw, circle split] (23) at (6,8) { Carter \nodepart{lower} \Tennis{}}; - \node[draw, circle split] (24) at (8,8) { James \nodepart{lower} \Bowling{} \Tennis{} \Basketball{}}; - \node[draw, circle split] (25) at (0,10) { Joshua \nodepart{lower} \Football{} \Baseball{}}; - \node[draw, circle split] (26) at (2,10) { Owen \nodepart{lower} \Football{}}; - \node[draw, circle split] (27) at (4,10) { Joseph \nodepart{lower} \Basketball{} \Baseball{}}; - \node[draw, circle split] (28) at (6,10) { Oliver \nodepart{lower} \Bowling{} \Tennis{}}; - \node[draw, circle split] (29) at (8,10) { Hazel \nodepart{lower} \Tennis{} \Basketball{}}; - \draw (0) -- (29); - \draw (0) -- (26); - \draw (1) -- (23); - \draw (2) -- (27); - \draw (2) -- (26); - \draw (3) -- (28); - \draw (3) -- (11); - \draw (3) -- (18); - \draw (3) -- (22); - \draw (4) -- (18); - \draw (4) -- (21); - \draw (4) -- (17); - \draw (4) -- (10); - \draw (5) -- (19); - \draw (6) -- (19); - \draw (7) -- (29); - \draw (7) -- (23); - \draw (7) -- (15); - \draw (8) -- (21); - \draw (8) -- (22); + \node[draw, circle split] (0) at (0,0) { Alexander \nodepart{lower} \Football{} \Bowling{}}; + \node[draw, circle split] (1) at (4,0) { Wyatt \nodepart{lower} \Baseball{} \Tennis{}}; + \node[draw, circle split] (2) at (8,0) { Mia \nodepart{lower} \Basketball{}}; + \node[draw, circle split] (3) at (12,0) { William \nodepart{lower} \Baseball{} \Football{}}; + \node[draw, circle split] (4) at (16,0) { Zoey \nodepart{lower} \Basketball{} \Bowling{} \Tennis{}}; + \node[draw, circle split] (5) at (0,4) { Isabella \nodepart{lower} \Tennis{}}; + \node[draw, circle split] (6) at (4,4) { Abigail \nodepart{lower} \Baseball{}}; + \node[draw, circle split] (7) at (8,4) { Savannah \nodepart{lower} \Bowling{} \Basketball{} \Football{}}; + \node[draw, circle split] (8) at (12,4) { Peyton \nodepart{lower} \Football{}}; + \node[draw, circle split] (9) at (16,4) { Alice \nodepart{lower} \Tennis{} \Baseball{}}; + \node[draw, circle split] (10) at (0,8) { Sophia \nodepart{lower} \Bowling{} \Basketball{} \Bowling{}}; + \node[draw, circle split] (11) at (4,8) { Layla \nodepart{lower} \Tennis{} \Baseball{} \Football{}}; + \node[draw, circle split] (12) at (8,8) { Ava \nodepart{lower} \Basketball{}}; + \node[draw, circle split] (13) at (12,8) { Harper \nodepart{lower} \Bowling{}}; + \node[draw, circle split] (14) at (16,8) { Sebastian \nodepart{lower} \Tennis{} \Basketball{} \Baseball{}}; + \node[draw, circle split] (15) at (0,12) { Michael \nodepart{lower} \Football{}}; + \node[draw, circle split] (16) at (4,12) { Natalie \nodepart{lower} \Bowling{} \Football{} \Baseball{}}; + \node[draw, circle split] (17) at (8,12) { Penelope \nodepart{lower} \Basketball{}}; + \node[draw, circle split] (18) at (12,12) { Lily \nodepart{lower} \Tennis{} \Tennis{}}; + \node[draw, circle split] (19) at (16,12) { Eleanor \nodepart{lower} \Football{}}; + \node[draw, circle split] (20) at (0,16) { Henry \nodepart{lower} \Bowling{} \Basketball{}}; + \node[draw, circle split] (21) at (4,16) { Claire \nodepart{lower} \Baseball{} \Basketball{}}; + \node[draw, circle split] (22) at (8,16) { Caleb \nodepart{lower} \Baseball{}}; + \node[draw, circle split] (23) at (12,16) { Charlotte \nodepart{lower} \Bowling{} \Football{} \Tennis{}}; + \node[draw, circle split] (24) at (16,16) { Luke \nodepart{lower} \Football{}}; + \node[draw, circle split] (25) at (0,20) { Connor \nodepart{lower} \Baseball{} \Tennis{}}; + \node[draw, circle split] (26) at (4,20) { Aiden \nodepart{lower} \Basketball{} \Bowling{} \Tennis{}}; + \node[draw, circle split] (27) at (8,20) { Aurora \nodepart{lower} \Football{}}; + \node[draw, circle split] (28) at (12,20) { Nathan \nodepart{lower} \Bowling{} \Baseball{}}; + \node[draw, circle split] (29) at (16,20) { Aurora \nodepart{lower} \Basketball{}}; + \draw (0) -- (11); + \draw (0) -- (13); + \draw (0) -- (18); + \draw (1) -- (13); + \draw (1) -- (24); + \draw (2) -- (22); + \draw (2) -- (16); + \draw (2) -- (9); + \draw (2) -- (6); + \draw (3) -- (4); + \draw (3) -- (20); + \draw (4) -- (28); + \draw (4) -- (3); + \draw (5) -- (17); + \draw (5) -- (15); + \draw (5) -- (24); + \draw (6) -- (2); + \draw (7) -- (17); + \draw (7) -- (24); + \draw (7) -- (22); + \draw (7) -- (11); \draw (8) -- (25); - \draw (8) -- (20); - \draw (9) -- (29); - \draw (9) -- (20); - \draw (10) -- (4); - \draw (10) -- (24); - \draw (11) -- (3); - \draw (12) -- (19); - \draw (12) -- (21); + \draw (8) -- (21); + \draw (8) -- (24); + \draw (8) -- (11); + \draw (9) -- (2); + \draw (10) -- (25); + \draw (10) -- (26); + \draw (10) -- (27); + \draw (11) -- (0); + \draw (11) -- (7); + \draw (11) -- (8); \draw (12) -- (20); - \draw (12) -- (22); - \draw (13) -- (25); - \draw (13) -- (16); - \draw (13) -- (23); - \draw (14) -- (25); - \draw (14) -- (21); - \draw (14) -- (16); - \draw (14) -- (22); - \draw (15) -- (7); - \draw (15) -- (25); - \draw (16) -- (13); - \draw (16) -- (14); - \draw (17) -- (4); - \draw (18) -- (3); - \draw (18) -- (4); - \draw (19) -- (5); - \draw (19) -- (6); - \draw (19) -- (12); - \draw (20) -- (8); - \draw (20) -- (9); + \draw (12) -- (27); + \draw (13) -- (0); + \draw (13) -- (1); + \draw (14) -- (15); + \draw (15) -- (5); + \draw (15) -- (14); + \draw (15) -- (20); + \draw (15) -- (17); + \draw (16) -- (2); + \draw (16) -- (26); + \draw (17) -- (5); + \draw (17) -- (7); + \draw (17) -- (15); + \draw (17) -- (20); + \draw (18) -- (0); + \draw (19) -- (23); + \draw (20) -- (3); \draw (20) -- (12); - \draw (21) -- (4); + \draw (20) -- (15); + \draw (20) -- (17); \draw (21) -- (8); - \draw (21) -- (12); - \draw (21) -- (14); - \draw (22) -- (3); - \draw (22) -- (8); - \draw (22) -- (12); - \draw (22) -- (14); - \draw (23) -- (1); - \draw (23) -- (7); - \draw (23) -- (13); - \draw (24) -- (10); + \draw (22) -- (2); + \draw (22) -- (7); + \draw (22) -- (23); + \draw (23) -- (19); + \draw (23) -- (22); + \draw (24) -- (1); + \draw (24) -- (5); + \draw (24) -- (7); + \draw (24) -- (8); \draw (25) -- (8); - \draw (25) -- (13); - \draw (25) -- (14); - \draw (25) -- (15); - \draw (26) -- (0); - \draw (26) -- (2); - \draw (27) -- (2); - \draw (28) -- (3); - \draw (29) -- (0); - \draw (29) -- (7); - \draw (29) -- (9); + \draw (25) -- (10); + \draw (26) -- (10); + \draw (26) -- (16); + \draw (26) -- (29); + \draw (27) -- (10); + \draw (27) -- (12); + \draw (28) -- (4); + \draw (29) -- (26); \end{tikzpicture} \end{center} @@ -125,10 +123,10 @@ Voici le graphe de SocialGraphe \paragraph{Première énigme} Trouver qui est le coupable avec les indices suivants. \begin{compactitem} -\item Indice 1 : Le suspect a entre 20 et 29 ans. -\item Indice 2 : Le suspect pratique au moins du Tennis et/ou du Football . -\item Indice 3 : Le suspect a les cheveux Brun ou Blond . -\item Indice 4 : Le suspect a au moins un ami avec les cheveux Blond . +\item Indice 1 : Le suspect pratique au moins du Baseball et/ou du Basketball . +\item Indice 2 : Le suspect pratique 2 ou 1 sport(s). +\item Indice 3 : Le suspect a les cheveux Roux ou Blond . +\item Indice 4 : Le suspect a au moins un ami avec les cheveux Roux . \end{compactitem} -% Solution : Oliver +% Solution : Nathan \end{document}