who messed up?

This commit is contained in:
Raphaël Jakse 2020-11-22 22:20:43 +01:00
parent 6c263c2976
commit e3b4fc0b7e
2 changed files with 38 additions and 12 deletions

View File

@ -220,7 +220,7 @@
for (const key of options.choices) {
[].push.call(alertSelect.options, new Option(key, key));
}
alertSelect.value = defaultValue;
alertSelect.value = alertInput.value = defaultValue;
divAlertContent.textContent = msg;
divAlertInput.style.display = "";

View File

@ -723,6 +723,14 @@
}
function setCell(index, letter, highlight) {
if (lastPlayer) {
if (letter) {
currentTilePlayed[index] = letter;
} else {
delete currentTilePlayed[index];
}
}
setTileParent(boardCells[index].getElementsByClassName("tile-placeholder")[0], letter, highlight);
}
@ -914,7 +922,6 @@
tablePlayers[currentPlayer].classList.remove("current-player");
}
currentTilePlayed = {};
currentPlayer = player;
refreshCurrentPlayer();
}
@ -1049,6 +1056,15 @@
refreshCurrentPlayer();
}
function handleLastPlayer(data) {
if (data.player) {
if (lastPlayer !== data.player) {
currentTilePlayed = {};
}
lastPlayer = data.player;
}
}
function applyAction(data) {
switch (data.action) {
case "pushBag": //TODO
@ -1065,9 +1081,12 @@
sendCmds([{cmd: "hello"}]);
lastPlayer = null;
currentTilePlayed = {};
break;
case "moveLetter":
handleLastPlayer(data);
if (data.from === "board") {
setCell(data.indexFrom, "");
} else if (data.from === "rack") {
@ -1075,27 +1094,32 @@
}
if (data.to === "board") {
setCell(data.indexTo, data.letter, Object.prototype.hasOwnProperty.call(data, "player") && data.player !== getSetting("PlayerName"));
setCell(
data.indexTo,
data.letter,
data.player && data.player !== getSetting("PlayerName")
);
} else if (data.to === "rack") {
setRackCell(data.indexTo, data.letter);
}
if (data.player) {
lastPlayer = data.player;
}
break;
case "setCell":
setCell(data.indexTo, data.letter, Object.prototype.hasOwnProperty.call(data, "player") && data.player !== getSetting("PlayerName"));
if (data.player) {
lastPlayer = data.player;
}
case "setCell":
handleLastPlayer(data);
setCell(
data.indexTo,
data.letter,
data.player && data.player !== getSetting("PlayerName")
);
if ((data.letter !== "") && (currentTilePlayed[data.indexTo] === "-")) {
currentTilePlayed[data.indexTo] = data.letter;
}
break;
case "setRackCell":
setRackCell(data.indexTo, data.letter);
}
@ -1906,6 +1930,8 @@
return;
}
currentTilePlayed = {};
sendCmds([{
cmd: "score",
player: name,