Fix multiplayer board enabling after pairing
This commit is contained in:
30
game.js
30
game.js
@@ -78,6 +78,7 @@ function handleServerMessage(payload) {
|
||||
if (payload.type === "waiting") {
|
||||
localPlayer = "";
|
||||
roomId = "";
|
||||
multiplayerState = "waiting";
|
||||
setupGame();
|
||||
setMultiplayerState("waiting", "Waiting for another player...");
|
||||
return;
|
||||
@@ -86,6 +87,7 @@ function handleServerMessage(payload) {
|
||||
if (payload.type === "paired") {
|
||||
localPlayer = payload.player;
|
||||
roomId = payload.roomId;
|
||||
multiplayerState = "paired";
|
||||
setupGame();
|
||||
setMultiplayerState("paired", `You are ${localPlayer}. ${currentPlayer} plays first.`);
|
||||
return;
|
||||
@@ -97,6 +99,7 @@ function handleServerMessage(payload) {
|
||||
}
|
||||
|
||||
if (payload.type === "reset") {
|
||||
multiplayerState = "paired";
|
||||
setupGame();
|
||||
setMultiplayerState("paired", `Game reset. You are ${localPlayer}. ${currentPlayer} plays first.`);
|
||||
return;
|
||||
@@ -147,13 +150,37 @@ function render() {
|
||||
}
|
||||
}
|
||||
|
||||
turnBadge.textContent = gameOver ? "Game over" : `${currentPlayer} to play`;
|
||||
turnBadge.textContent = turnLabel();
|
||||
turnBadge.className = `turn-badge player-${currentPlayer.toLowerCase()}`;
|
||||
xCapturesElement.textContent = captures.X;
|
||||
oCapturesElement.textContent = captures.O;
|
||||
resetButton.disabled = multiplayerState !== "paired";
|
||||
}
|
||||
|
||||
function turnLabel() {
|
||||
if (gameOver) {
|
||||
return "Game over";
|
||||
}
|
||||
|
||||
if (multiplayerState === "connecting") {
|
||||
return "Connecting";
|
||||
}
|
||||
|
||||
if (multiplayerState === "waiting") {
|
||||
return "Waiting";
|
||||
}
|
||||
|
||||
if (multiplayerState === "error") {
|
||||
return "Offline";
|
||||
}
|
||||
|
||||
if (currentPlayer === localPlayer) {
|
||||
return `Your turn (${localPlayer})`;
|
||||
}
|
||||
|
||||
return `${currentPlayer} to play`;
|
||||
}
|
||||
|
||||
function canPlayCell(row, col) {
|
||||
return multiplayerState === "paired" &&
|
||||
!gameOver &&
|
||||
@@ -347,4 +374,3 @@ resetButton.addEventListener("click", () => {
|
||||
|
||||
setupGame();
|
||||
connectToServer();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user