From 96a3e90b8ff74caa7a4c972adb8cc82f24ddeec6 Mon Sep 17 00:00:00 2001 From: Thomas de Brettes <thomas.de-brettes@etu.ec-lyon.fr> Date: Wed, 26 Mar 2025 09:50:26 +0100 Subject: [PATCH] tour --- htdocs/chess.js | 52 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) diff --git a/htdocs/chess.js b/htdocs/chess.js index 0ee7cb7..e101dc1 100644 --- a/htdocs/chess.js +++ b/htdocs/chess.js @@ -123,6 +123,58 @@ function highlightMoves(piece, row, col) { moves.push({ row: row + direction, col: newCol }); } } + if (piece.toLowerCase() === "t") { + // Déplacements vers le haut + for (let r = row - 1; r >= 0; r--) { + if (board[r][col] === "") { + moves.push({ row: r, col }); + } else { + if (noirs.includes(board[r][col])) { + moves.push({ row: r, col }); // Capture possible + } + if (blancs.includes(board[r][col])) { + break + } + break; // Bloqué par une pièce + } + } + + // Déplacements vers le bas + for (let r = row + 1; r < 8; r++) { + if (board[r][col] === "") { + moves.push({ row: r, col }); + } else { + if (noirs.includes(board[r][col])) { + moves.push({ row: r, col }); + } + break; + } + } + + // Déplacements vers la gauche + for (let c = col - 1; c >= 0; c--) { + if (board[row][c] === "") { + moves.push({ row, col: c }); + } else { + if (noirs.includes(board[r][col])) { + moves.push({ row, col: c }); + } + break; + } + } + + // Déplacements vers la droite + for (let c = col + 1; c < 8; c++) { + if (board[row][c] === "") { + moves.push({ row, col: c }); + } else { + if (noirs.includes(board[r][col])) { + moves.push({ row, col: c }); + } + break; + } + } + } return moves; -- GitLab