affichage du tour
This commit is contained in:
parent
f2674b0874
commit
619c584572
2 changed files with 29 additions and 3 deletions
|
|
@ -7,6 +7,7 @@
|
|||
</head>
|
||||
<body>
|
||||
<h2>ChessNut — Partie</h2>
|
||||
<div id="turnBanner" style="margin-bottom:8px"></div>
|
||||
<div>Room: <strong id="roomId">-</strong> • Vous jouez: <strong id="myColor">-</strong>
|
||||
<div class="layout-row">
|
||||
<div>
|
||||
|
|
@ -87,10 +88,13 @@
|
|||
boardEl.style.width = side + 'px';
|
||||
boardEl.style.height = side + 'px';
|
||||
}
|
||||
if(data.boardState) renderBoardFromState(data.boardState);
|
||||
if(data.boardState) {
|
||||
renderBoardFromState(data.boardState);
|
||||
updateTurnBanner(data.boardState);
|
||||
}
|
||||
});
|
||||
socket.on('game:over', (data)=>{ log('game:over', data); if(data.boardState) renderBoardFromState(data.boardState); });
|
||||
socket.on('game:started', (data)=>{ log('game:started', data); if(data.boardState) renderBoardFromState(data.boardState); });
|
||||
socket.on('game:over', (data)=>{ log('game:over', data); if(data.boardState){ renderBoardFromState(data.boardState); updateTurnBanner(data.boardState); } });
|
||||
socket.on('game:started', (data)=>{ log('game:started', data); if(data.boardState){ renderBoardFromState(data.boardState); updateTurnBanner(data.boardState); } });
|
||||
// selection events (include moves) broadcasted by server
|
||||
socket.on('game:select', (data) => {
|
||||
try{
|
||||
|
|
@ -152,6 +156,24 @@
|
|||
|
||||
connectAndJoin();
|
||||
|
||||
function updateTurnBanner(boardState){
|
||||
const banner = document.getElementById('turnBanner');
|
||||
if(!banner) return;
|
||||
if(!boardState || !boardState.turn || !myColor){
|
||||
banner.classList.remove('show');
|
||||
return;
|
||||
}
|
||||
// myColor is 'white' or 'black', boardState.turn is 'w' or 'b'
|
||||
const myShort = (myColor && myColor[0]) || '';
|
||||
if(myShort === boardState.turn){
|
||||
banner.textContent = "C'est à vous de jouer";
|
||||
banner.classList.add('show');
|
||||
} else {
|
||||
banner.textContent = "En attente du coup de l'adversaire";
|
||||
banner.classList.add('show');
|
||||
}
|
||||
}
|
||||
|
||||
// movement UI removed: legalMoves and move markers are disabled
|
||||
|
||||
// selection helpers (client-side)
|
||||
|
|
|
|||
|
|
@ -40,6 +40,10 @@ a:hover{text-decoration:underline}
|
|||
/* layout helpers used from game.html */
|
||||
.layout-row{display:flex;gap:20px;align-items:flex-start}
|
||||
|
||||
/* turn banner */
|
||||
#turnBanner{color:#0b1220;background:#f6ad55;padding:8px 12px;border-radius:8px;font-weight:700;display:none}
|
||||
#turnBanner.show{display:inline-block}
|
||||
|
||||
/* board tweaks */
|
||||
#board{border:1px solid #333;position:relative;background-image: url('/assets/chess-pieces/boards/8x8_wood.svg');background-size:cover}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue