From e706f75a1a1d08ff4b013ced835a28c9bef01331 Mon Sep 17 00:00:00 2001 From: Adam <adam.elarouti@etu.ec-lyon.fr> Date: Wed, 26 Mar 2025 10:14:43 +0100 Subject: [PATCH] fou --- htdocs/chess.js | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) diff --git a/htdocs/chess.js b/htdocs/chess.js index 11fc006..1aa2da5 100644 --- a/htdocs/chess.js +++ b/htdocs/chess.js @@ -173,6 +173,55 @@ function highlightMoves(piece, row, col) { } } } + if (piece.toLowerCase() === "f") { + // Déplacements en haut à gauche + for (let r = row - 1, c = col - 1; r >= 0 && c >= 0; r--, c--) { + if (board[r][c] === "") { + moves.push({ row: r, col: c }); + } else { + if (noirs.includes(board[r][c])) { + moves.push({ row: r, col: c }); + } + break; // Bloqué par une pièce + } + } + + // Déplacements en haut à droite + for (let r = row - 1, c = col + 1; r >= 0 && c < 8; r--, c++) { + if (board[r][c] === "") { + moves.push({ row: r, col: c }); + } else { + if (noirs.includes(board[r][c])) { + moves.push({ row: r, col: c }); + } + break; + } + } + + // Déplacements en bas à gauche + for (let r = row + 1, c = col - 1; r < 8 && c >= 0; r++, c--) { + if (board[r][c] === "") { + moves.push({ row: r, col: c }); + } else { + if (noirs.includes(board[r][c])) { + moves.push({ row: r, col: c }); + } + break; + } + } + + // Déplacements en bas à droite + for (let r = row + 1, c = col + 1; r < 8 && c < 8; r++, c++) { + if (board[r][c] === "") { + moves.push({ row: r, col: c }); + } else { + if (noirs.includes(board[r][c])) { + moves.push({ row: r, col: c }); + } + break; + } + } + } return moves; } -- GitLab