|
|
@ -15,6 +15,11 @@ app.get("/", (req, res) => {
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app.get("/.....$", (req, res) => {
|
|
|
|
|
|
|
|
res.sendFile("OEOEO CEST LA ROUTE");
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app.get("/client/main.js", (req, res) => {
|
|
|
|
app.get("/client/main.js", (req, res) => {
|
|
|
|
res.sendFile(__dirname + '/client/main.js');
|
|
|
|
res.sendFile(__dirname + '/client/main.js');
|
|
|
|
});
|
|
|
|
});
|
|
|
@ -30,8 +35,14 @@ io.on('connection', (socket1) => {
|
|
|
|
socket1.on('disconnect',(socket)=>{
|
|
|
|
socket1.on('disconnect',(socket)=>{
|
|
|
|
console.log(`[Server Side] disconnection : ${socket1.id}`)
|
|
|
|
console.log(`[Server Side] disconnection : ${socket1.id}`)
|
|
|
|
rooms.forEach(it =>{
|
|
|
|
rooms.forEach(it =>{
|
|
|
|
it.players = new Map(
|
|
|
|
value = it.sockets.get(socket1.id)
|
|
|
|
[...it.players]
|
|
|
|
if (value != null) {
|
|
|
|
|
|
|
|
it.players = new Map(
|
|
|
|
|
|
|
|
[...it.players].filter(([k,v]) => k !==value)
|
|
|
|
|
|
|
|
)
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
it.sockets = new Map(
|
|
|
|
|
|
|
|
[...it.sockets]
|
|
|
|
.filter(([k, v]) => k !== socket1.id )
|
|
|
|
.filter(([k, v]) => k !== socket1.id )
|
|
|
|
)
|
|
|
|
)
|
|
|
|
roomChanged(it)
|
|
|
|
roomChanged(it)
|
|
|
@ -44,14 +55,16 @@ io.on('connection', (socket1) => {
|
|
|
|
data = JSON.parse(socket);
|
|
|
|
data = JSON.parse(socket);
|
|
|
|
console.clear();
|
|
|
|
console.clear();
|
|
|
|
console.log(`[Server Side] JSON : ${socket}`)
|
|
|
|
console.log(`[Server Side] JSON : ${socket}`)
|
|
|
|
console.log(`[Server Side] data : ${data.id}`)
|
|
|
|
|
|
|
|
if(rooms.length === 0)
|
|
|
|
if(rooms.length === 0)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
|
|
|
|
joueurId = new Map();
|
|
|
|
|
|
|
|
joueurId.set(data.nom,data.joueur)
|
|
|
|
map = new Map();
|
|
|
|
map = new Map();
|
|
|
|
map.set(data.nom,0);
|
|
|
|
map.set(data.joueur,0);
|
|
|
|
rooms.push({
|
|
|
|
rooms.push({
|
|
|
|
id: data.id,
|
|
|
|
id: data.id,
|
|
|
|
players: map
|
|
|
|
players: map,
|
|
|
|
|
|
|
|
sockets: joueurId
|
|
|
|
})
|
|
|
|
})
|
|
|
|
roomChanged(rooms[0])
|
|
|
|
roomChanged(rooms[0])
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -60,23 +73,26 @@ io.on('connection', (socket1) => {
|
|
|
|
res = rooms.filter(e => e.id === data.id);
|
|
|
|
res = rooms.filter(e => e.id === data.id);
|
|
|
|
if(res[0] != null )
|
|
|
|
if(res[0] != null )
|
|
|
|
{
|
|
|
|
{
|
|
|
|
console.log(res)
|
|
|
|
if(res[0].players.get(data.joueur) != null)
|
|
|
|
if(res[0].players.get(data.nom) != null)
|
|
|
|
|
|
|
|
{
|
|
|
|
{
|
|
|
|
console.log(`[Server Side] Error : le joueur ${data.nom} est dejà dans la room`);
|
|
|
|
console.log(`[Server Side] Error : le joueur ${data.joueur} est dejà dans la room`);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else
|
|
|
|
else
|
|
|
|
{
|
|
|
|
{
|
|
|
|
res[0].players.set(data.nom,0);
|
|
|
|
res[0].players.set(data.joueur,0);
|
|
|
|
|
|
|
|
res[0].sockets.set(data.nom,data.joueur)
|
|
|
|
roomChanged(res[0])
|
|
|
|
roomChanged(res[0])
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else{
|
|
|
|
else{
|
|
|
|
map = new Map();
|
|
|
|
map = new Map();
|
|
|
|
map.set(data.nom,0);
|
|
|
|
map.set(data.joueur,0);
|
|
|
|
|
|
|
|
joueurId = new Map();
|
|
|
|
|
|
|
|
joueurId.set(data.nom,data.joueur)
|
|
|
|
rooms.push({
|
|
|
|
rooms.push({
|
|
|
|
id: data.id,
|
|
|
|
id: data.id,
|
|
|
|
players: map
|
|
|
|
players: map,
|
|
|
|
|
|
|
|
sockets: joueurId
|
|
|
|
});
|
|
|
|
});
|
|
|
|
roomChanged(rooms[rooms.length-1])
|
|
|
|
roomChanged(rooms[rooms.length-1])
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -87,7 +103,6 @@ io.on('connection', (socket1) => {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function displayAllRooms(rooms)
|
|
|
|
function displayAllRooms(rooms)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
console.log(`[Server Side] number of rooms : ${rooms.length}`);
|
|
|
|
console.log(`[Server Side] number of rooms : ${rooms.length}`);
|
|
|
@ -115,7 +130,7 @@ function roomChanged(room)
|
|
|
|
it !== room
|
|
|
|
it !== room
|
|
|
|
})
|
|
|
|
})
|
|
|
|
}
|
|
|
|
}
|
|
|
|
room.players.forEach((element,key) => {
|
|
|
|
room.sockets.forEach((element,key) => {
|
|
|
|
io.to(key).emit('players',JSON.stringify(Array.from(room.players.entries())))
|
|
|
|
io.to(key).emit('players',JSON.stringify(Array.from(room.players.entries())))
|
|
|
|
});
|
|
|
|
});
|
|
|
|
}
|
|
|
|
}
|
|
|
|