Compare commits

...

10 Commits

Author SHA1 Message Date
Thomas Chazot 6005281801 Image qui fonctionne
continuous-integration/drone/push Build is passing Details
1 year ago
Thomas CHAZOT 547f02227f revert 53ac430987
continuous-integration/drone/push Build is passing Details
1 year ago
Thomas Chazot 53ac430987 fix /
continuous-integration/drone/push Build is passing Details
1 year ago
Thomas Chazot 450123404e icon pour download
1 year ago
Thomas Chazot fc11d0a0e5 évite doublons
1 year ago
Thomas Chazot 6a106608ba évite doublons
1 year ago
Thomas Chazot a01003d3c8 correct background dans le endgame
continuous-integration/drone/push Build is passing Details
1 year ago
Baptiste MARCEL 752fbaacb2 Merge branch 'master' of https://codefirst.iut.uca.fr/git/Crypteam/Cryptid
continuous-integration/drone/push Build is passing Details
1 year ago
Baptiste MARCEL bb6e6c6cba modif page home
1 year ago
Pierre FERREIRA 32bc994b41 Merge pull request 'EngGamePage' (#115) from EngGamePage into master
continuous-integration/drone/push Build is passing Details
1 year ago

@ -436,14 +436,7 @@ const MyGraphComponent: React.FC<MyGraphComponentProps> = ({onNodeClick, handleS
setIndicesData(choosenIndices)
const map = EnigmeDuJourCreator.createEnigme(networkPerson, choosenIndices, choosenPerson, Stub.GenerateIndice())
setDailyEnigmeData(map)
if (solo && (difficulty === "intermediate" || !isDaily)){
addToHistory("<----- ["+ intl.formatMessage({ id: 'turn' }) +" " + 1 +"/"+networkPerson.getPersons().length + "] ----->");
}
else{
choosenIndices.forEach((indice, index) => {
addToHistory(intl.formatMessage({ id: 'indice' }) + positionToEmoji(index, true) + " : " + indice.ToString(lang))
})
}
changecptTour(1)
testTemps=0
}
@ -816,14 +809,6 @@ const MyGraphComponent: React.FC<MyGraphComponentProps> = ({onNodeClick, handleS
})
}
else {
if (firstLap){
firstLap=false
if (solo && (difficulty === "intermediate" || !isDaily)){
addToHistory("<----- ["+ intl.formatMessage({ id: 'turn' }) +" " + 1 +"/"+networkData.nodes.length + "] ----->");
}
}
}
const putCorrectBackground = () => {
@ -942,6 +927,7 @@ const MyGraphComponent: React.FC<MyGraphComponentProps> = ({onNodeClick, handleS
}
finally{
setElapsedTime(0)
putCorrectBackground()
socket.off("end game")
socket.off("asked all")
socket.off("opacity activated")
@ -1163,7 +1149,7 @@ const MyGraphComponent: React.FC<MyGraphComponentProps> = ({onNodeClick, handleS
if (difficulty==="intermediate"){
addToHistory(personTest.getName() + intl.formatMessage({ id: 'history.NotCoupable' }));
cptTour ++; // On Incrémente le nombre de tour du joueur
addToHistory("<----- ["+ intl.formatMessage({ id: 'turn' }) + " " + cptTour +"/"+networkData.nodes.length + "] ----->");
addToHistory("<----- ["+ intl.formatMessage({ id: 'turn' }) + " " + cptTour +"/"+networkData.nodes.length);
changecptTour(cptTour); // On le transmet a la page précédente avec la fonction
}
else if (difficulty==="easy"){

@ -3,7 +3,6 @@
justify-content: space-between;
/* background-color: #D7D4C6; */
background-color: #fff;
min-height: 100vh;
font-size: calc(10px + 2vmin);
/* color: #2A4541; */
}

@ -40,89 +40,91 @@ function Home() {
}
}, [isLoggedIn]);
return (
<div className="home-container" style={{overflow:"hidden"}}>
<div className="left-section">
<div>
{/* <h2><FormattedMessage id="home.histoire.title"/></h2> */}
<h2>Introduction</h2>
<p style={{fontSize:"14px"}}>
{/* <FormattedMessage id="home.histoire" /> */}
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 !
</p>
</div>
<hr/>
<div>
<h2><FormattedMessage id="home.jeu.title"/></h2>
<p style={{fontSize:"14px"}}>
{/* <FormattedMessage id="home.jeu" /> */}
Dans l'univers captivant de notre jeu de déduction, la tromperie et la ruse sont les maîtres mots de la réussite. Explorez le mystère qui se dissimule derrière chaque interaction de notre graphique complexe, dévoilant les liens entre les individus.
</p>
<p style={{fontSize:"14px"}}>
{/* <FormattedMessage id="home.jeu" /> */}
Votre mission ultime ? Découvrir qui parmi les individus est le coupable, mais n'attendez pas une collaboration ouverte. Utilisez plutôt la manipulation subtile pour embrouiller les pistes, détourner l'attention de vos adversaires. Posez des questions stratégiques, répondez avec malice et plantez des indices trompeurs pour vous rapprocher du dénouement.
</p>
return (
<div className="home-container" style={{overflow:"hidden"}}>
<div className="left-section">
<div>
{/* <h2><FormattedMessage id="home.histoire.title"/></h2> */}
<h2>Introduction</h2>
<p style={{fontSize:"14px"}}>
{/* <FormattedMessage id="home.histoire" /> */}
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 !
</p>
</div>
<p style={{fontSize:"14px"}}>
{/* <FormattedMessage id="home.jeu" /> */}
Chaque occasion offre la possibilité de semer le doute parmi vos adversaires. Lorsqu'un joueur vous interroge, répondez en plaçant adroitement un jeton carré pour suggérer que "selon votre indice, cette personne ne peut être le coupable", ou un jeton rond pour indiquer qu'elle reste dans la liste des suspects. Soyez vigilant, chaque geste peut être interprété, et la vérité se dissimule souvent derrière une façade d'indices trompeurs.
</p>
<hr/>
<p style={{fontSize:"14px"}}>
{/* <FormattedMessage id="home.jeu" /> */}
Si un joueur place un jeton carré, le questionneur doit également jouer son jeu en plaçant un jeton carré de sa couleur sur un nœud du graphique. La contre-manipulation devient ainsi une arme redoutable pour détourner l'accusation et semer la confusion. Pour en savoir plus, plongez-vous dans les détails de ce passionnant récit sur une autre page.
</p>
<div>
<h2><FormattedMessage id="home.jeu.title"/></h2>
<p style={{fontSize:"14px"}}>
{/* <FormattedMessage id="home.jeu" /> */}
Dans l'univers captivant de notre jeu de déduction, la tromperie et la ruse sont les maîtres mots de la réussite. Explorez le mystère qui se dissimule derrière chaque interaction de notre graphique complexe, dévoilant les liens entre les individus.
</p>
<p style={{fontSize:"14px"}}>
{/* <FormattedMessage id="home.jeu" /> */}
Votre mission ultime ? Découvrir qui parmi les individus est le coupable, mais n'attendez pas une collaboration ouverte. Utilisez plutôt la manipulation subtile pour embrouiller les pistes, détourner l'attention de vos adversaires. Posez des questions stratégiques, répondez avec malice et plantez des indices trompeurs pour vous rapprocher du dénouement.
</p>
<p style={{fontSize:"14px"}}>
{/* <FormattedMessage id="home.jeu" /> */}
Chaque occasion offre la possibilité de semer le doute parmi vos adversaires. Lorsqu'un joueur vous interroge, répondez en plaçant adroitement un jeton carré pour suggérer que "selon votre indice, cette personne ne peut être le coupable", ou un jeton rond pour indiquer qu'elle reste dans la liste des suspects. Soyez vigilant, chaque geste peut être interprété, et la vérité se dissimule souvent derrière une façade d'indices trompeurs.
</p>
<p style={{fontSize:"14px"}}>
{/* <FormattedMessage id="home.jeu" /> */}
Si un joueur place un jeton carré, le questionneur doit également jouer son jeu en plaçant un jeton carré de sa couleur sur un nœud du graphique. La contre-manipulation devient ainsi une arme redoutable pour détourner l'accusation et semer la confusion. Pour en savoir plus, plongez-vous dans les détails de ce passionnant récit sur une autre page.
</p>
<h5>Pour des informations plus détaillées, consulter les <Link to={`${basePath}/info`}>règles</Link>.</h5>
<hr/>
</div>
<div>
<h6>Jeu inspiré par le jeu de société "Cryptide"</h6>
</div>
</div>
<div className="vertical-divider"></div>
<div className="right-section">
{/* <h3><FormattedMessage id="game.time"/></h3>
<h3><FormattedMessage id="game.players"/></h3>
<h3><FormattedMessage id="game.age"/></h3> */}
<h3>
Temps : 20 minutes<br/>
Joueurs : 1 à 6<br/>
Âge : 8ans et +<br/>
</h3>
<h5>Pour des informations plus détaillées, consulter les <Link to={`${basePath}/info`}>règles</Link>.</h5>
<hr/>
<h3>
<u><FormattedMessage id="game.createdBy"/></u><br/>
Chazot Thomas<br/>
Ferreira Pierre<br/>
Marcel Baptiste<br/>
</h3>
{/* <h3> <u><FormattedMessage id="game.illustratedBy"/></u><br/> Kwanchai Moriya</h3> */}
{/* <button>Jouer au jeu</button> */}
<br/>
<Link to={`${basePath}/`} className='button'
style={{
backgroundColor: theme.colors.primary,
borderColor: theme.colors.secondary
}}>
<FormattedMessage id="play"/>
</Link>
</div>
<div>
<h6>Jeu inspiré par le jeu de société "Cryptide"</h6>
</div>
</div>
<div className="vertical-divider"></div>
<div className="right-section">
{/* <h3><FormattedMessage id="game.time"/></h3>
<h3><FormattedMessage id="game.players"/></h3>
<h3><FormattedMessage id="game.age"/></h3> */}
<h3>
Temps : 20 minutes<br/>
Joueurs : 1 à 6<br/>
Âge : 8ans et +<br/>
</h3>
<hr/>
<h3> <u><FormattedMessage id="game.createdBy"/></u><br/>
Chazot Thomas<br/>
Ferreira Pierre<br/>
Marcel Baptiste<br/>
</h3>
{/* <h3> <u><FormattedMessage id="game.illustratedBy"/></u><br/> Kwanchai Moriya</h3> */}
{/* <button>Jouer au jeu</button> */}
<br/>
<Link to={`${basePath}/`} className='button'
style={{
backgroundColor: theme.colors.primary,
borderColor: theme.colors.secondary
}}>
<FormattedMessage id="play"/>
</Link>
</div>
</div>
);
}

@ -14,14 +14,12 @@ import PlayerList from '../Components/PlayerList';
import TurnBar from '../Components/TurnBar';
/* Icon */
import Leave from "../res/icon/leave.png";
import Param from "../res/icon/param.png";
import Replay from "../res/icon/replay.png";
import Info from "../res/icon/infoGreen.png";
import Check from "../res/icon/checkboxGreen.png";
import Alpha from "../res/GreekLetters/alphaW.png";
import MGlass from "../res/icon/magnifying-glass.png";
import Download from "../res/icon/download.png"
import Pdf from "../res/icon/pdf.png"
import Tex from "../res/icon/tex.png"
import Reset from "../res/icon/reset.png";
import Oeye from "../res/icon/eye.png";
import Ceye from "../res/icon/hidden.png";
@ -57,6 +55,12 @@ import Indice from '../model/Indices/Indice';
import {basePath} from "../AdressSetup"
import { useAuth } from '../Contexts/AuthContext';
import ballonDeBasket from '../Script/ballon-de-basket.png';
import ballonDeFoot from '../Script/ballon-de-foot.png';
import baseball from '../Script/baseball.png';
import bowling from '../Script/bowling.png';
import tennis from '../Script/tennis.png';
let cptNavigation = 0
@ -207,7 +211,7 @@ const InGame = ({locale, changeLocale}) => {
const zip = new JSZip();
if (isDaily && networkEnigme != null){
if (isDaily && (difficulty === "hard" || difficulty === "intermediate") && networkEnigme != null){
const tex = generateLatexCodeEnigme(personNetwork, person, indices, network, networkEnigme)
const blob = new Blob([tex], { type: 'application/x-latex;charset=utf-8' });
zip.file('socialGraph.tex', tex);
@ -219,17 +223,25 @@ const InGame = ({locale, changeLocale}) => {
}
const imageNames = ['ballon-de-basket.png', 'ballon-de-foot.png', "baseball.png", "bowling.png", "tennis.png"]; // Liste des noms de fichiers d'images
const imagesFolder = 'Script';
const imageNames2 = [ballonDeBasket, ballonDeFoot, baseball, bowling, tennis];
for (const imageName of imageNames) {
const imageUrl = process.env.PUBLIC_URL + `/${imagesFolder}/${imageName}`;
const imagesFolder = 'Script';
let test = 0
for (const image of imageNames2) {
/*
const imageUrl = `localhost/${imagesFolder}/${imageName}`;
console.log(imageUrl)
const response = await fetch(imageUrl);
*/
const response = await fetch(image);
if (response.ok) {
const imageBlob = await response.blob();
zip.file(`${imageName}`, imageBlob);
zip.file(imageNames[test], imageBlob);
test++
} else {
console.error(`Erreur de chargement de l'image ${imageName}`);
// console.error(`Erreur de chargement de l'image ${imageName}`);
}
}
@ -559,7 +571,7 @@ const handleBlurIndice = () => {
backgroundColor: theme.colors.tertiary,
borderColor: theme.colors.secondary
}}>
<img src={Download} alt="indice" height="40"/>
<img src={Tex} alt="indice" height="40"/>
</button>
}
@ -569,7 +581,7 @@ const handleBlurIndice = () => {
backgroundColor: theme.colors.tertiary,
borderColor: theme.colors.secondary
}}>
<img src={Download} alt="indice" height="40"/>
<img src={Pdf} alt="indice" height="40"/>
</button>
}
</div>

@ -86,7 +86,7 @@ function generateLatexCode(personsNet : PersonNetwork, choosenPerson : Person, c
latexCode += "\\end{compactitem}\n"
//* Solution
latexCode += "% Solution : " + choosenPerson.getName() + "\n";
latexCode += "Solution : " + choosenPerson.getName() + "\n";
latexCode += "\\end{document}\n"
@ -192,8 +192,14 @@ function generateLatexCodeEnigme(personsNet : PersonNetwork, choosenPerson : Per
latexCode += "\\end{compactitem}\n"
//* Solution
latexCode += "% Solution : " + choosenPerson.getName() + "\n";
latexCode += "Solution : " + choosenPerson.getName() + "\n";
latexCode += "\\begin{compactitem}\n"
choosenIndices.forEach((indices, index) => {
latexCode += `\\item Indice ${index + 1}: ${indices.ToString("fr")}\n`
})
latexCode += "\\end{compactitem}\n"
latexCode += "\\end{document}\n"
return latexCode

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 822 B

File diff suppressed because it is too large Load Diff
Loading…
Cancel
Save