piece rotation reimplementation
continuous-integration/drone/push Build is passing Details

deployement
Vincent ASTOLFI 11 months ago
parent 608519763c
commit 1cb76c000c

@ -250,45 +250,54 @@ function clickNewCase(piece) {
return clickNewCasehandler; return clickNewCasehandler;
} }
function rotatePiece(player, piece) { function rotatePiece(piece) {
const handler = function (event) { const handler = function (event) {
event.preventDefault(); event.preventDefault();
player.pieces.forEach((p) => { socket.emit("get player", socket.id, (response) => {
if ( let player = response.player;
p.id === piece.id && player.pieces.forEach((p) => {
p.isSelected && if (
p.isMovable && p.id === piece.id &&
validMoove(player, piece, { p.isSelected &&
type: "rotation", p.isMovable &&
selectedCase: p.startPos, validMoove(player, piece, {
}) type: "rotation",
) { selectedCase: p.startPos,
for (let i = p.startPos.x; i <= p.endPos.x; i++) { })
for (let j = p.startPos.y; j <= p.endPos.y; j++) { ) {
player.grid.cases[i][j].piece = ""; for (let i = p.startPos.x; i <= p.endPos.x; i++) {
player.grid.cases[i][j].isShip = false; for (let j = p.startPos.y; j <= p.endPos.y; j++) {
player.grid.cases[i][j].piece = "";
player.grid.cases[i][j].isShip = false;
}
}
if (p.vertical) {
p.endPos = { x: p.startPos.x + p.size - 1, y: p.startPos.y };
p.vertical = false;
} else {
p.endPos = { x: p.startPos.x, y: p.startPos.y + p.size - 1 };
p.vertical = true;
} }
}
if (p.vertical) {
p.endPos = { x: p.startPos.x + p.size - 1, y: p.startPos.y };
p.vertical = false;
} else {
p.endPos = { x: p.startPos.x, y: p.startPos.y + p.size - 1 };
p.vertical = true;
}
for (let i = p.startPos.x; i <= p.endPos.x; i++) { for (let i = p.startPos.x; i <= p.endPos.x; i++) {
for (let j = p.startPos.y; j <= p.endPos.y; j++) { for (let j = p.startPos.y; j <= p.endPos.y; j++) {
player.grid.cases[i][j].piece = p; player.grid.cases[i][j].piece = p;
player.grid.cases[i][j].isShip = true; player.grid.cases[i][j].isShip = true;
}
} }
} }
} socket.emit("update piece", socket.id, p);
socket.emit("update grid", socket.id, player.grid, (response) => {
if (response.status === true) {
drawGrid();
} else {
// TODO : error handling
}
});
});
}); });
drawGrid(player);
}; };
return handler; return handler;
} }

Loading…
Cancel
Save