Skip to content
Snippets Groups Projects
Commit efef880e authored by Paul-louis Gomis's avatar Paul-louis Gomis
Browse files

update player kill

parent 78a5b942
No related branches found
No related tags found
No related merge requests found
......@@ -10,15 +10,19 @@ const Main = (playerName, playerCharacter) => {
canvas.height = document.documentElement.clientHeight;
ctx.width = 6000;
ctx.height = 3340;
const xStart = canvas.width / 2;
const xEnd = ctx.width - canvas.width / 2;
const yStart = canvas.height / 2;
const yEnd = ctx.height - canvas.height / 2;
let xStart = canvas.width / 2;
let xEnd = ctx.width - canvas.width / 2;
let yStart = canvas.height / 2;
let yEnd = ctx.height - canvas.height / 2;
window.addEventListener("resize", (e) => {
e.preventDefault();
canvas.width = document.documentElement.clientWidth;
canvas.height = document.documentElement.clientHeight;
xStart = canvas.width / 2;
xEnd = ctx.width - canvas.width / 2;
yStart = canvas.height / 2;
yEnd = ctx.height - canvas.height / 2;
});
const backgroundImage = new Image();
......@@ -109,7 +113,6 @@ const Main = (playerName, playerCharacter) => {
);
socket.emit("newUser", player);
let allUsers = [];
socket.on("allUsers", (data) => {
allUsers = data.users;
......@@ -119,6 +122,15 @@ const Main = (playerName, playerCharacter) => {
}
});
socket.on("isDead", (data) => {
if (data.winner.id == player.id) {
player.radius += data.loser.radius;
}
if (data.loser.id == player.id) {
//Interface YOU ARE DEAD
}
});
socket.on("newSushi", (data) => {
sushis.splice(data.drop, 1);
sushis.push(
......
......@@ -48,7 +48,9 @@ function move(player, ctx, mouseX, mouseY, canvasWidth, canvasHeight) {
}
function killPlayer(MyPlayer) {
users.forEach((player, idx) => {
let deadPlayer;
for (let i = 0; i < users.length; i++) {
const player = users[i];
const dx = player.x - MyPlayer.x;
const dy = player.y - MyPlayer.y;
const distance = Math.sqrt(dx * dx + dy * dy);
......@@ -57,10 +59,12 @@ function killPlayer(MyPlayer) {
distance < MyPlayer.radius &&
player.id != MyPlayer.id
) {
users.splice(idx, 1);
player.radius += users[idx].radius;
deadPlayer = player;
users.splice(i, 1);
break;
}
});
}
return deadPlayer;
}
const io = new IOServer(httpServer);
......@@ -73,7 +77,7 @@ io.on("connection", (socket) => {
socket.emit("allUsers", { users: users });
});
socket.on("userMoveTo", (data) => {
socket.on("userMoveTo", async (data) => {
let player = data.player;
moveTo(
player,
......@@ -90,14 +94,20 @@ io.on("connection", (socket) => {
data.canvasWidth,
data.canvasHeight
);
let deadPlayer = killPlayer(player);
for (let i = 0; i < users.length; i++) {
if (player.id === users[i].id) {
users[i] = player;
}
}
killPlayer(data.player);
users.sort((a, b) => a.radius - b.radius);
socket.emit("allUsers", { users: users, player: player });
socket.emit("allUsers", {
users: users,
player: player,
});
if (deadPlayer) {
io.emit("isDead", { loser: deadPlayer, winner: player });
}
});
socket.on("updateSushi", (data) => {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment