new seed pour tuto + nom pour les bots pour l'immersion + autres fix
continuous-integration/drone/push Build is passing Details

pull/103/head^2
Thomas Chazot 10 months ago
parent 177a75d5ed
commit faa5408f17

@ -25,12 +25,18 @@ io.on('connection', (socket) => {
console.log(socket.id);
socket.on('network created', (network, person, indices, room, start) =>{
io.to(room).emit("game created", network, person, indices, start)
map.get(room).started = true
map.get(room).actualPlayer=start
const playerArray = Array.from(map.entries()).map(([key, value]) => ({ key, value }))
const playerJson = JSON.stringify(playerArray);
io.emit("request lobbies", playerJson)
try{
io.to(room).emit("game created", network, person, indices, start)
map.get(room).started = true
map.get(room).actualPlayer=start
const playerArray = Array.from(map.entries()).map(([key, value]) => ({ key, value }))
const playerJson = JSON.stringify(playerArray);
io.emit("request lobbies", playerJson)
}
catch{
console.log("error")
}
});
socket.on("give network", (networkPerson, person, indices, start, room, nodes, playerId) => {
@ -145,17 +151,23 @@ io.on('connection', (socket) => {
})
socket.on("who plays", (room) => {
if (map.get(room) !== undefined){
let player = map.get(room).actualPlayer
if (map.get(room).tab[player].type != "User"){
player = player + 1
if (player == map.get(room).tab.length){
player=0
try{
if (map.get(room) !== undefined){
let player = map.get(room).actualPlayer
if (map.get(room).tab[player].type != "User"){
player = player + 1
if (player == map.get(room).tab.length){
player=0
}
}
// console.log(player)
io.to(room).emit("who plays", player, map.get(room).lastWorks)
}
// console.log(player)
io.to(room).emit("who plays", player, map.get(room).lastWorks)
}
catch{
}
})
socket.on("disconnect", () =>{
@ -216,9 +228,14 @@ io.on('connection', (socket) => {
})
socket.on("node checked", (id, works, color, room, playerIndex) =>{
map.get(room).actualPlayer=playerIndex
map.get(room).lastWorks=works
io.to(room).emit("node checked", id, works, color, playerIndex, socket.id)
try{
map.get(room).actualPlayer=playerIndex
map.get(room).lastWorks=works
io.to(room).emit("node checked", id, works, color, playerIndex, socket.id)
}
catch{
console.log("error")
}
})
socket.on("put correct background", (id) =>{

@ -477,7 +477,6 @@ const MyGraphComponent: React.FC<MyGraphComponentProps> = ({onNodeClick, handleS
p.indice=indices[index]
p.index=index
p.initiateMap(personNetwork)
console.log(p.indice.ToString("fr"))
}
})
}
@ -488,7 +487,6 @@ const MyGraphComponent: React.FC<MyGraphComponentProps> = ({onNodeClick, handleS
bot.indice=indices[i]
bot.index=index
bot.initiateMap(personNetwork)
console.log(bot.indice.ToString("fr"))
}
}
if (i==playerIndex){
@ -520,6 +518,7 @@ const MyGraphComponent: React.FC<MyGraphComponentProps> = ({onNodeClick, handleS
setPlayerIndex(index)
setLastIndex(index)
if (actualPlayerIndex==index){
handleTurnBarTextChange("À vous de jouer")
handleShowTurnBar(true)
}
})

@ -112,7 +112,7 @@ const PersonStatus: React.FC<PlayerStatusProps> = ({img = Person, state= Person,
{/* </div> */}
</div>
<div className='playerNameDisplay'>
<h5>{actualPlayerIndex !== index ? (name.substring(0, name.length - 2).length > 7 ? name.substring(0, name.length - 2).substring(0, 7) + '...' : name.substring(0, name.length - 2)) : 'vous'}</h5>
<h6>{actualPlayerIndex !== index ? (name.length > 18 ? name.substring(0, 15) + '...' : name) : 'vous'}</h6>
</div>
</div>
);

@ -39,9 +39,7 @@ const PlayerList: React.FC<PlayerListProps> = ({ players, playerTouched, setPlay
<PersonStatus img={player.profilePicture}
state={Person}
key={index}
name={player.pseudo
+ " " +
positionToEmoji(index, true)}
name={player.pseudo}
playerTouched={playerTouched}
setPlayerTouched={setPlayerTouched}
index={index}

@ -147,7 +147,7 @@ const TutorialGraph: React.FC<TutorialGraphProps> = ({showLast, setNetwork, setP
direction: 'LR', // LR (Left to Right) ou autre selon votre préférence
sortMethod: 'hubsize'
},
randomSeed: 2
randomSeed: 3
},
physics: {
enabled: true,

@ -146,15 +146,13 @@ function EndGame() {
<BigButtonNav dest="/play" img={Leave}/>
</div> */}
<div className="losingPlayersContainer">
{losingPlayers.map((player, index) => (
<div className="playerContainer" key={index}>
{player.id !== winner?.id && (
<div>
<PersonStatus img={Person} state={Person} key={index} name={player.pseudo} playerTouched={1} setPlayerTouched={() => {}} index={index} playerIndex={-2} showCircle={false} askedWrong={false}/>
{!indicenull && (<h6 className='indiceDisplay'>{indices[players.findIndex((p) => p.id == player?.id)].ToString("fr")}</h6>)}
</div>
)}
</div>
{players.map((player, index) => (
player.id !== winner?.id && (
<div className="playerContainer" key={index}>
<PersonStatus img={Person} state={Person} key={index} name={player.pseudo} playerTouched={1} setPlayerTouched={() => {}} index={index} playerIndex={-2} showCircle={false} askedWrong={false}/>
{!indicenull && (<h6 className='indiceDisplay'>{indices[players.findIndex((p) => p.id == player?.id)].ToString("fr")}</h6>)}
</div>
)
))}
</div>
</div>

@ -66,7 +66,13 @@ function Lobby() {
const room = params.get('room');
function addBot(){
socket.emit("lobby joined", room, new EasyBot("botId" + Math.floor(Math.random() * 1000), "Bot" + Math.floor(Math.random() * 100), "").toJson())
let json = require("../res/botNames.json")
const tabNames = [...json.names]
let name = tabNames[Math.floor(Math.random() * tabNames.length)]
while (players.find((p) => p.pseudo === name) != undefined){
name = tabNames[Math.floor(Math.random() * tabNames.length)]
}
socket.emit("lobby joined", room, new EasyBot(name, name, "").toJson())
}
//* nb Node
@ -213,23 +219,25 @@ function Lobby() {
function StartGame(){
const [networkPerson, choosenPerson, choosenIndices] = GameCreator.CreateGame(players.length, enteredNumber)
setPersonData(choosenPerson)
setPersonNetworkData(networkPerson)
setIndicesData(choosenIndices)
let users = players.filter((p) => p instanceof User)
let u = users[Math.floor(Math.random() * users.length)]
let start = players.findIndex((p) => p.id == u.id)
if (start == -1){
start = 0
if (players.length > 2){
const [networkPerson, choosenPerson, choosenIndices] = GameCreator.CreateGame(players.length, enteredNumber)
setPersonData(choosenPerson)
setPersonNetworkData(networkPerson)
setIndicesData(choosenIndices)
let users = players.filter((p) => p instanceof User)
let u = users[Math.floor(Math.random() * users.length)]
let start = players.findIndex((p) => p.id == u.id)
if (start == -1){
start = 0
}
socket.emit('network created', JSON.stringify(networkPerson, null, 2), JSON.stringify(choosenPerson), JSON.stringify(choosenIndices), room, start);
}
socket.emit('network created', JSON.stringify(networkPerson, null, 2), JSON.stringify(choosenPerson), JSON.stringify(choosenIndices), room, start);
}
const copyGameLink = () => {
setShow(!show)
const gameLink = "http://172.20.10.4:3000/lobby?room="+ room;
const gameLink = basePath + "/lobby?room="+ room;
navigator.clipboard.writeText(gameLink)
.then(() => {
console.log('Lien copié avec succès !');
@ -240,7 +248,7 @@ function Lobby() {
};
const textAreaRef = useRef<HTMLTextAreaElement>(null);
const linkToCopy = "http://172.20.10.4:3000/lobby?room="+ room
const linkToCopy = basePath + "/lobby?room="+ room
const handleCopyClick = () => {
setShow(!show)
if(textAreaRef.current != null){
@ -345,7 +353,7 @@ function Lobby() {
onChange={handleNumberChange}
min={20}
max={60}/>
<button className='valuebutton' onClick={() => { if (enteredNumber<60) setEnteredNumber(enteredNumber+1)}}
<button className='valuebutton' onClick={() => { if (enteredNumber<50) setEnteredNumber(enteredNumber+1)}}
style={{borderColor:theme.colors.secondary}}> + </button>
</div>
</div>

@ -128,7 +128,7 @@ const Tutorial = ({locale, changeLocale}) => {
if (user == null){
return
}
setPlayersData([user, new EasyBot("Bot1", "Bot1", ImgBot), new EasyBot("Bot2", "Bot2", ImgBot)])
setPlayersData([user, new EasyBot("Scooby-Doo", "Scooby-Doo", ImgBot), new EasyBot("Batman", "Batman", ImgBot)])
}, [])

@ -0,0 +1,22 @@
{
"names": [
"Sherlock Holmes",
"Inspecteur Gadget",
"Scooby-Doo",
"Marple",
"Spocky",
"Phoenix",
"Batman",
"James Bond",
"Sherlockio",
"Verra",
"Hercule Poirot",
"Colombo",
"MacGyver",
"Lupin",
"D. Conan",
"Pr. Layton",
"Dr. Watson"
]
}
Loading…
Cancel
Save