diff --git a/cryptide_project/server/server.js b/cryptide_project/server/server.js
index f1a5414..faee172 100644
--- a/cryptide_project/server/server.js
+++ b/cryptide_project/server/server.js
@@ -48,15 +48,23 @@ io.on('connection', (socket) => {
})
socket.on("lobby created", () =>{
- io.to(socket.id).emit("lobby created", 134)
+ io.to(socket.id).emit("lobby created", Math.floor(Math.random() * 10000))
})
socket.on("already asked", (nodeId, askingPlayer, askedPlayer) =>{
io.to(askingPlayer.id).emit("already asked", nodeId, askedPlayer)
})
- socket.on("ask player", (nodeId, playerId, askingPlayer) =>{
- io.to(playerId).emit("asked", nodeId, askingPlayer)
+ socket.on("ask player", (nodeId, playerId, askingPlayer, askingPlayerIndex) =>{
+ io.to(playerId).emit("asked", nodeId, askingPlayer, askingPlayerIndex)
+ })
+
+ socket.on("asked all 1by1", (id, playerId) =>{
+ io.to(playerId).emit("asked all", id)
+ })
+
+ socket.on("asked wrong", (askingPlayer) =>{
+ io.to(askingPlayer.id).emit("asked wrong")
})
socket.on("disconnect", () =>{
diff --git a/cryptide_project/src/Components/ChoiceBar.tsx b/cryptide_project/src/Components/ChoiceBar.tsx
index 74e22bd..96422d2 100644
--- a/cryptide_project/src/Components/ChoiceBar.tsx
+++ b/cryptide_project/src/Components/ChoiceBar.tsx
@@ -13,11 +13,11 @@ const ChoiceBar = () => {
function askPlayer(playerId: string){
if (nodeId !== null){
- socket.emit("ask player", nodeId, playerId, players.find((p) => p.id === socket.id))
+ socket.emit("ask player", nodeId, playerId, players.find((p) => p.id === socket.id, actualPlayerIndex))
}
}
- function askEveryone(){
+ async function askEveryone(){
if (nodeId !== null){
const person = personNetwork?.getPersons().find((p) => p.getId() == nodeId)
if (person != undefined){
@@ -36,6 +36,8 @@ const ChoiceBar = () => {
}
const tester = IndiceTesterFactory.Create(indices[playerIndex])
const works = tester.Works(person)
+ await delay(500);
+ socket.emit("asked all 1by1", person.getId(), players[playerIndex].id)
socket.emit("node checked", nodeId, works, positionToColor(playerIndex), room, nextPlayerIndex)
if(!works){
return
@@ -47,11 +49,15 @@ const ChoiceBar = () => {
}
}
+ function delay(ms: number) {
+ return new Promise(resolve => setTimeout(resolve, ms));
+ }
+
return (
Quel joueur voulez-vous interroger ?
-
+
{players.map((player, index) => (
player.id !== socket.id &&
diff --git a/cryptide_project/src/Components/TurnBar.tsx b/cryptide_project/src/Components/TurnBar.tsx
index 155bbce..dae6c18 100644
--- a/cryptide_project/src/Components/TurnBar.tsx
+++ b/cryptide_project/src/Components/TurnBar.tsx
@@ -1,7 +1,11 @@
import React from "react";
import { useTheme } from "../Style/ThemeContext";
-const TurnBar = () => {
+interface TurnBarProps{
+ text: string
+}
+
+const TurnBar: React.FC
= ({text})=> {
const theme = useTheme();
return (
{
borderColor: theme.colors.secondary
}}>
{/* texte changeable et a traduire */}
-
Dummy, à vous de jouer !
+
{text}
);
};
diff --git a/cryptide_project/src/Contexts/GameContext.tsx b/cryptide_project/src/Contexts/GameContext.tsx
index a725498..380d7d3 100644
--- a/cryptide_project/src/Contexts/GameContext.tsx
+++ b/cryptide_project/src/Contexts/GameContext.tsx
@@ -15,6 +15,7 @@ interface GameContextProps {
actualPlayerIndex: number;
turnPlayerIndex: number;
room: string;
+ onlyFalse: boolean
setIndicesData: (newIndices: Indice[]) => void;
setIndiceData: (newIndice: Indice) => void;
setPersonData: (newPerson: Person) => void;
@@ -25,6 +26,7 @@ interface GameContextProps {
setActualPlayerIndexData: (newActualPlayerIndex: number) => void;
setTurnPlayerIndexData: (newTurnPlayerIndex: number) => void;
setRoomData: (newRoom: string) => void;
+ setOnlyFalseData: (newOnlyFalse: boolean) => void
}
const GameContext = createContext(undefined);
@@ -44,6 +46,7 @@ export const GameProvider: React.FC = ({ children }) => {
const [actualPlayerIndex, setActualPlayerIndex] = useState(-1)
const [turnPlayerIndex, setTurnPlayerIndex] = useState(-1)
const [room, setRoom] = useState("")
+ const [onlyFalse, setOnlyFalse] = useState(false)
const setIndicesData = (newIndices: Indice[]) => {
@@ -87,8 +90,12 @@ export const GameProvider: React.FC = ({ children }) => {
setRoom(newRoom)
}
+ const setOnlyFalseData = (newOnlyFalse: boolean) =>{
+ setOnlyFalse(newOnlyFalse)
+ }
+
return (
-
+
{children}
);
diff --git a/cryptide_project/src/Pages/InGame.tsx b/cryptide_project/src/Pages/InGame.tsx
index ea3b1c2..db37efe 100644
--- a/cryptide_project/src/Pages/InGame.tsx
+++ b/cryptide_project/src/Pages/InGame.tsx
@@ -42,7 +42,7 @@ const InGame = ({locale, changeLocale}) => {
const [showChoiceBar, setShowChoiceBar] = useState(false);
const [showTurnBar, setShowTurnBar] = useState(false);
-
+ const [turnBarText, setTurnBarText] = useState("");
const handleNodeClick = (shouldShowChoiceBar: boolean) => {
setShowChoiceBar(shouldShowChoiceBar);
@@ -50,9 +50,12 @@ const InGame = ({locale, changeLocale}) => {
const handleShowTurnBar = (shouldShowTurnBar: boolean) => {
- console.log("je passe bien ici avec : " + shouldShowTurnBar)
setShowTurnBar(shouldShowTurnBar);
};
+
+ const handleTurnBarTextChange = (newTurnBarText: string) =>{
+ setTurnBarText(newTurnBarText)
+ }
/* offcanvas */
//? faire une fonction pour close et show en fonction de l'etat du canva ?
@@ -109,9 +112,9 @@ const InGame = ({locale, changeLocale}) => {
return (
- {showTurnBar &&
}
+ {showTurnBar &&
}
-
+