Skip to content
Snippets Groups Projects
Commit ecaed8e3 authored by De Brettes Thomas's avatar De Brettes Thomas
Browse files

échiquier qui tourne :)

parent 9ffd249a
No related branches found
No related tags found
No related merge requests found
......@@ -5,7 +5,7 @@ const express = require('express');
const app = express();
const http = require('http').createServer(app);
const path = require('path');
const port = 8060;
const port = 8080;
const io = require('socket.io')(http);
......
......@@ -6,7 +6,8 @@ const player = {
socketId: "",
symbol: "X",
turn: false,
win: false
win: false,
isBlackPlayer: false
};
const socket = io();
......@@ -162,11 +163,15 @@ function startGame(players) {
const ennemyPlayer = players.find(p => p.socketId != player.socketId);
ennemyUsername = ennemyPlayer.username;
player.isBlackPlayer = !player.host;
if (player.host && player.turn) {
setTurnMessage('alert-info', 'alert-success', "C'est ton tour de jouer");
} else {
setTurnMessage('alert-success', 'alert-info', `C'est au tour de <b>${ennemyUsername}</b> de jouer`);
}
draw();
}
function setTurnMessage(classToRemove, classToAdd, html) {
......@@ -230,31 +235,34 @@ const pieces_joueurs = {0: ["p","t","c","f","q","k"],1:["P","T","C","F","Q","K"]
function drawBoard() {
for (let row = 0; row < 8; row++) {
for (let col = 0; col < 8; col++) {
ctx.fillStyle = (row + col) % 2 === 0 ? "#F5DEB3" : "#8B4513";
let displayRow = player.isBlackPlayer ? 7 - row : row;
let displayCol = player.isBlackPlayer ? 7 - col : col;
ctx.fillStyle = (displayRow + displayCol) % 2 === 0 ? "#F5DEB3" : "#8B4513";
ctx.fillRect(col * size, row * size, size, size);
}
}
}
// Dessiner les pièces sur l'échiquier
function drawPieces() {
for (let row = 0; row < 8; row++) {
for (let col = 0; col < 8; col++) {
const piece = board[row][col];
let 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);
};
img.onerror = function (e) {
console.log("Erreur de chargement de l'image : ", img.src); // En cas d'erreur de chargement
let displayRow = player.isBlackPlayer ? 7 - row : row;
let displayCol = player.isBlackPlayer ? 7 - col : col;
ctx.drawImage(img, displayCol * size, displayRow * size, size, size);
};
}
}
}
}
// Fonction principale pour dessiner l'échiquier
function draw() {
drawBoard();
......@@ -262,7 +270,7 @@ function draw() {
}
// Appeler la fonction pour afficher l'échiquier
draw();
//Mouvement des pièces sur l'échiquier
......@@ -271,8 +279,13 @@ let selectedPiece = null;
let selectedPosition = null;
canvas.addEventListener("click", function(event) {
const col = Math.floor(event.offsetX / size);
const row = Math.floor(event.offsetY / size);
let col = Math.floor(event.offsetX / size);
let row = Math.floor(event.offsetY / size);
if (player.isBlackPlayer) {
col = 7 - col;
row = 7 - row;
}
if (selectedPiece) {
movePiece(row, col);
......@@ -281,6 +294,7 @@ canvas.addEventListener("click", function(event) {
}
});
function selectPiece(row, col) {
const piece = board[row][col];
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment