From d5afde548fca4959e76376e236bf08f9bc722384 Mon Sep 17 00:00:00 2001 From: Thomas de Brettes <thomas.de-brettes@etu.ec-lyon.fr> Date: Wed, 26 Mar 2025 10:04:13 +0100 Subject: [PATCH] tour --- htdocs/chess.js | 51 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) diff --git a/htdocs/chess.js b/htdocs/chess.js index e88e2dc..be8c110 100644 --- a/htdocs/chess.js +++ b/htdocs/chess.js @@ -122,6 +122,57 @@ function highlightMoves(piece, row, col) { if (noirs.includes(board[row + direction][col - direction])){ moves.push({row: row +direction, col: col - direction }) } + 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 + } + 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