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 1 year ago
parent 177a75d5ed
commit faa5408f17

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

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

@ -112,7 +112,7 @@ const PersonStatus: React.FC<PlayerStatusProps> = ({img = Person, state= Person,
{/* </div> */} {/* </div> */}
</div> </div>
<div className='playerNameDisplay'> <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>
</div> </div>
); );

@ -39,9 +39,7 @@ const PlayerList: React.FC<PlayerListProps> = ({ players, playerTouched, setPlay
<PersonStatus img={player.profilePicture} <PersonStatus img={player.profilePicture}
state={Person} state={Person}
key={index} key={index}
name={player.pseudo name={player.pseudo}
+ " " +
positionToEmoji(index, true)}
playerTouched={playerTouched} playerTouched={playerTouched}
setPlayerTouched={setPlayerTouched} setPlayerTouched={setPlayerTouched}
index={index} 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 direction: 'LR', // LR (Left to Right) ou autre selon votre préférence
sortMethod: 'hubsize' sortMethod: 'hubsize'
}, },
randomSeed: 2 randomSeed: 3
}, },
physics: { physics: {
enabled: true, enabled: true,

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

@ -66,7 +66,13 @@ function Lobby() {
const room = params.get('room'); const room = params.get('room');
function addBot(){ 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 //* nb Node
@ -213,23 +219,25 @@ function Lobby() {
function StartGame(){ function StartGame(){
const [networkPerson, choosenPerson, choosenIndices] = GameCreator.CreateGame(players.length, enteredNumber) if (players.length > 2){
setPersonData(choosenPerson) const [networkPerson, choosenPerson, choosenIndices] = GameCreator.CreateGame(players.length, enteredNumber)
setPersonNetworkData(networkPerson) setPersonData(choosenPerson)
setIndicesData(choosenIndices) setPersonNetworkData(networkPerson)
let users = players.filter((p) => p instanceof User) setIndicesData(choosenIndices)
let u = users[Math.floor(Math.random() * users.length)] let users = players.filter((p) => p instanceof User)
let start = players.findIndex((p) => p.id == u.id) let u = users[Math.floor(Math.random() * users.length)]
if (start == -1){ let start = players.findIndex((p) => p.id == u.id)
start = 0 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 = () => { const copyGameLink = () => {
setShow(!show) setShow(!show)
const gameLink = "http://172.20.10.4:3000/lobby?room="+ room; const gameLink = basePath + "/lobby?room="+ room;
navigator.clipboard.writeText(gameLink) navigator.clipboard.writeText(gameLink)
.then(() => { .then(() => {
console.log('Lien copié avec succès !'); console.log('Lien copié avec succès !');
@ -240,7 +248,7 @@ function Lobby() {
}; };
const textAreaRef = useRef<HTMLTextAreaElement>(null); const textAreaRef = useRef<HTMLTextAreaElement>(null);
const linkToCopy = "http://172.20.10.4:3000/lobby?room="+ room const linkToCopy = basePath + "/lobby?room="+ room
const handleCopyClick = () => { const handleCopyClick = () => {
setShow(!show) setShow(!show)
if(textAreaRef.current != null){ if(textAreaRef.current != null){
@ -345,7 +353,7 @@ function Lobby() {
onChange={handleNumberChange} onChange={handleNumberChange}
min={20} min={20}
max={60}/> 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> style={{borderColor:theme.colors.secondary}}> + </button>
</div> </div>
</div> </div>

@ -128,7 +128,7 @@ const Tutorial = ({locale, changeLocale}) => {
if (user == null){ if (user == null){
return 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