diff --git a/htdocs/chess.js b/htdocs/chess.js index 4c9e8a86be85a84f440725cecf385f40bc6dda18..10a6d9489f41ad096deb0f477ff38a839717fa85 100644 --- a/htdocs/chess.js +++ b/htdocs/chess.js @@ -45,17 +45,31 @@ function drawPieces() { for (let row = 0; row < 8; row++) { for (let col = 0; col < 8; col++) { const piece = board[row][col]; - if (piece !== "") { let img = new Image(); - img.src = "chess_pieces/" + pieceImages[piece]; - img.onload = function () { - ctx.drawImage(img, col * size, row * size, size, size); - }; - } + if (piece !== ""){ + drawPiece(piece,col,row) + } } } } +function drawPiece(piece, col, row) { + let img = new Image(); + img.src = "chess_pieces/" + pieceImages[piece]; + img.onload = function () { + let tempCanvas = document.createElement("canvas"); + let tempCtx = tempCanvas.getContext("2d"); + + tempCanvas.width = size; + tempCanvas.height = size; + + // Dessiner l’image sur un canvas temporaire + tempCtx.drawImage(img, 0, 0, size, size); + + // Ensuite, dessiner cette image sur le canvas principal + ctx.drawImage(tempCanvas, col * size, row * size, size, size); + }; +} // Fonction principale pour dessiner l'échiquier function draw() { drawBoard();