Indent a switch statement
This commit is contained in:
parent
171e91acce
commit
f718be61e9
|
@ -422,229 +422,229 @@ function handleCommand(cmd, gameNumber, playerName, response) {
|
|||
var rack = null;
|
||||
|
||||
switch (cmd.cmd) {
|
||||
case "joinGame":
|
||||
if (!gameNumber) {
|
||||
gameNumber = newGameId();
|
||||
}
|
||||
case "joinGame":
|
||||
if (!gameNumber) {
|
||||
gameNumber = newGameId();
|
||||
}
|
||||
|
||||
if (!game) {
|
||||
game = games[gameNumber] = new Game();
|
||||
}
|
||||
if (!game) {
|
||||
game = games[gameNumber] = new Game();
|
||||
}
|
||||
|
||||
game.playerJoined(playerName);
|
||||
game.playerJoined(playerName);
|
||||
|
||||
response.write(
|
||||
JSON.stringify({
|
||||
"error":0,
|
||||
"gameNumber": gameNumber,
|
||||
"playerName": playerName,
|
||||
"rack": game.getPlayerRack(playerName),
|
||||
"board": game.board,
|
||||
"remainingLetters": game.remainingLetters,
|
||||
"letterValues": frValues,
|
||||
"date": dateNow,
|
||||
"sync": false
|
||||
})
|
||||
);
|
||||
break;
|
||||
|
||||
case "hello":
|
||||
game.playerJoined(playerName);
|
||||
break;
|
||||
|
||||
case "sync":
|
||||
response.write(
|
||||
JSON.stringify({
|
||||
"error":0,
|
||||
"gameNumber": gameNumber,
|
||||
"playerName": playerName,
|
||||
"rack": game.getPlayerRack(playerName),
|
||||
"board": game.board,
|
||||
"remainingLetters": game.remainingLetters,
|
||||
"letterValues": frValues,
|
||||
"date": dateNow,
|
||||
"sync": true
|
||||
})
|
||||
);
|
||||
break;
|
||||
|
||||
case "score":
|
||||
game.setPlayerScore(cmd.player, cmd.score);
|
||||
response.write("{\"error\":0}");
|
||||
break;
|
||||
|
||||
case "moveLetter":
|
||||
var letter = "";
|
||||
|
||||
switch (cmd.from) {
|
||||
case "rack":
|
||||
rack = game.getPlayerRack(playerName);
|
||||
|
||||
letter = rack[cmd.indexFrom];
|
||||
rack[cmd.indexFrom] = "";
|
||||
break;
|
||||
|
||||
case "board":
|
||||
if (cmd.indexFrom < 15 * 15) {
|
||||
letter = game.getCell(cmd.indexFrom);
|
||||
game.setCell(cmd.indexFrom, "", playerName);
|
||||
}
|
||||
break;
|
||||
|
||||
case "bag":
|
||||
letter = game.bagPopLetter(playerName);
|
||||
break;
|
||||
|
||||
default:
|
||||
response.write("{\"error\":1, \"reason\":\"Moving letter from an unknown place\"}");
|
||||
return;
|
||||
}
|
||||
|
||||
switch (cmd.to) {
|
||||
case "rack":
|
||||
if (cmd.indexTo > 7) {
|
||||
response.write("{\"error\":1, \"reason\":\"Moving letter to a index which is too high\"}");
|
||||
return;
|
||||
}
|
||||
|
||||
rack = rack || game.getPlayerRack(playerName);
|
||||
rack[cmd.indexTo] = letter;
|
||||
break;
|
||||
|
||||
case "board":
|
||||
if (cmd.indexTo < 15 * 15) {
|
||||
game.setCell(cmd.indexTo, letter, playerName);
|
||||
}
|
||||
break;
|
||||
|
||||
case "bag":
|
||||
game.bagPushLetter(letter, playerName);
|
||||
break;
|
||||
|
||||
default:
|
||||
switch (cmd.from) {
|
||||
case "rack":
|
||||
rack[cmd.indexFrom] = letter;
|
||||
break;
|
||||
|
||||
case "board":
|
||||
game.setCell(cmd.indexFrom, letter, playerName);
|
||||
break;
|
||||
|
||||
case "bag":
|
||||
game.bagPushLetter(letter, playerName);
|
||||
break;
|
||||
|
||||
default:
|
||||
console.error("BUG: code should not have been reached.");
|
||||
}
|
||||
|
||||
response.write("{\"error\":1, \"reason\":\"Moving letter to an unknown place\"}");
|
||||
return;
|
||||
}
|
||||
|
||||
response.write(
|
||||
JSON.stringify({
|
||||
error:0,
|
||||
letter: letter,
|
||||
action: "moveLetter",
|
||||
indexTo: typeof cmd.indexTo === "number" ? cmd.indexTo : -1,
|
||||
from: cmd.from,
|
||||
to: cmd.to,
|
||||
indexFrom: typeof cmd.indexFrom === "number" ? cmd.indexFrom : -1,
|
||||
remainingLetters: game.remainingLetters,
|
||||
date: dateNow
|
||||
})
|
||||
);
|
||||
|
||||
if (rack) {
|
||||
game.pendingEvents.push({
|
||||
players: [{
|
||||
player: playerName,
|
||||
rackCount: countTiles(rack)
|
||||
}],
|
||||
date: dateNow
|
||||
});
|
||||
}
|
||||
break;
|
||||
|
||||
case "setRack":
|
||||
cmd.rack.length = 8;
|
||||
|
||||
rack = game.getPlayerRack(playerName);
|
||||
|
||||
var initialRackCount = countTiles(rack);
|
||||
var rackCount = countTiles(cmd.rack);
|
||||
|
||||
debuglog(rack, cmd.rack);
|
||||
|
||||
if (initialRackCount !== rackCount) {
|
||||
response.write(
|
||||
JSON.stringify({
|
||||
error: 1,
|
||||
rack: rack,
|
||||
reason: "the new rack doesn't contain the same number of letters",
|
||||
date: dateNow
|
||||
"error":0,
|
||||
"gameNumber": gameNumber,
|
||||
"playerName": playerName,
|
||||
"rack": game.getPlayerRack(playerName),
|
||||
"board": game.board,
|
||||
"remainingLetters": game.remainingLetters,
|
||||
"letterValues": frValues,
|
||||
"date": dateNow,
|
||||
"sync": false
|
||||
})
|
||||
);
|
||||
break;
|
||||
}
|
||||
|
||||
var oldRack = rack.slice();
|
||||
case "hello":
|
||||
game.playerJoined(playerName);
|
||||
break;
|
||||
|
||||
case "sync":
|
||||
response.write(
|
||||
JSON.stringify({
|
||||
"error":0,
|
||||
"gameNumber": gameNumber,
|
||||
"playerName": playerName,
|
||||
"rack": game.getPlayerRack(playerName),
|
||||
"board": game.board,
|
||||
"remainingLetters": game.remainingLetters,
|
||||
"letterValues": frValues,
|
||||
"date": dateNow,
|
||||
"sync": true
|
||||
})
|
||||
);
|
||||
break;
|
||||
|
||||
for (let i = 0; i < 8; i++) {
|
||||
cmd.rack[i] = (cmd.rack[i] || "")[0] || "";
|
||||
if (cmd.rack[i]) {
|
||||
var indexLetter = oldRack.indexOf(cmd.rack[i]);
|
||||
case "score":
|
||||
game.setPlayerScore(cmd.player, cmd.score);
|
||||
response.write("{\"error\":0}");
|
||||
break;
|
||||
|
||||
if (indexLetter === -1) {
|
||||
response.write(
|
||||
JSON.stringify({
|
||||
error: 1,
|
||||
rack: rack,
|
||||
reason: "the new rack is not a permutation of the old rack",
|
||||
date: dateNow
|
||||
})
|
||||
);
|
||||
case "moveLetter":
|
||||
var letter = "";
|
||||
|
||||
switch (cmd.from) {
|
||||
case "rack":
|
||||
rack = game.getPlayerRack(playerName);
|
||||
|
||||
letter = rack[cmd.indexFrom];
|
||||
rack[cmd.indexFrom] = "";
|
||||
break;
|
||||
}
|
||||
oldRack[indexLetter] = false;
|
||||
|
||||
case "board":
|
||||
if (cmd.indexFrom < 15 * 15) {
|
||||
letter = game.getCell(cmd.indexFrom);
|
||||
game.setCell(cmd.indexFrom, "", playerName);
|
||||
}
|
||||
break;
|
||||
|
||||
case "bag":
|
||||
letter = game.bagPopLetter(playerName);
|
||||
break;
|
||||
|
||||
default:
|
||||
response.write("{\"error\":1, \"reason\":\"Moving letter from an unknown place\"}");
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
for (let i = 0; i < 8; i++) {
|
||||
rack[i] = cmd.rack[i];
|
||||
}
|
||||
switch (cmd.to) {
|
||||
case "rack":
|
||||
if (cmd.indexTo > 7) {
|
||||
response.write("{\"error\":1, \"reason\":\"Moving letter to a index which is too high\"}");
|
||||
return;
|
||||
}
|
||||
|
||||
response.write(
|
||||
JSON.stringify({
|
||||
error: 0,
|
||||
rack: rack,
|
||||
rack = rack || game.getPlayerRack(playerName);
|
||||
rack[cmd.indexTo] = letter;
|
||||
break;
|
||||
|
||||
case "board":
|
||||
if (cmd.indexTo < 15 * 15) {
|
||||
game.setCell(cmd.indexTo, letter, playerName);
|
||||
}
|
||||
break;
|
||||
|
||||
case "bag":
|
||||
game.bagPushLetter(letter, playerName);
|
||||
break;
|
||||
|
||||
default:
|
||||
switch (cmd.from) {
|
||||
case "rack":
|
||||
rack[cmd.indexFrom] = letter;
|
||||
break;
|
||||
|
||||
case "board":
|
||||
game.setCell(cmd.indexFrom, letter, playerName);
|
||||
break;
|
||||
|
||||
case "bag":
|
||||
game.bagPushLetter(letter, playerName);
|
||||
break;
|
||||
|
||||
default:
|
||||
console.error("BUG: code should not have been reached.");
|
||||
}
|
||||
|
||||
response.write("{\"error\":1, \"reason\":\"Moving letter to an unknown place\"}");
|
||||
return;
|
||||
}
|
||||
|
||||
response.write(
|
||||
JSON.stringify({
|
||||
error:0,
|
||||
letter: letter,
|
||||
action: "moveLetter",
|
||||
indexTo: typeof cmd.indexTo === "number" ? cmd.indexTo : -1,
|
||||
from: cmd.from,
|
||||
to: cmd.to,
|
||||
indexFrom: typeof cmd.indexFrom === "number" ? cmd.indexFrom : -1,
|
||||
remainingLetters: game.remainingLetters,
|
||||
date: dateNow
|
||||
})
|
||||
);
|
||||
|
||||
if (rack) {
|
||||
game.pendingEvents.push({
|
||||
players: [{
|
||||
player: playerName,
|
||||
rackCount: countTiles(rack)
|
||||
}],
|
||||
date: dateNow
|
||||
});
|
||||
}
|
||||
break;
|
||||
|
||||
case "setRack":
|
||||
cmd.rack.length = 8;
|
||||
|
||||
rack = game.getPlayerRack(playerName);
|
||||
|
||||
var initialRackCount = countTiles(rack);
|
||||
var rackCount = countTiles(cmd.rack);
|
||||
|
||||
debuglog(rack, cmd.rack);
|
||||
|
||||
if (initialRackCount !== rackCount) {
|
||||
response.write(
|
||||
JSON.stringify({
|
||||
error: 1,
|
||||
rack: rack,
|
||||
reason: "the new rack doesn't contain the same number of letters",
|
||||
date: dateNow
|
||||
})
|
||||
);
|
||||
break;
|
||||
}
|
||||
|
||||
var oldRack = rack.slice();
|
||||
|
||||
|
||||
for (let i = 0; i < 8; i++) {
|
||||
cmd.rack[i] = (cmd.rack[i] || "")[0] || "";
|
||||
if (cmd.rack[i]) {
|
||||
var indexLetter = oldRack.indexOf(cmd.rack[i]);
|
||||
|
||||
if (indexLetter === -1) {
|
||||
response.write(
|
||||
JSON.stringify({
|
||||
error: 1,
|
||||
rack: rack,
|
||||
reason: "the new rack is not a permutation of the old rack",
|
||||
date: dateNow
|
||||
})
|
||||
);
|
||||
break;
|
||||
}
|
||||
oldRack[indexLetter] = false;
|
||||
}
|
||||
}
|
||||
|
||||
for (let i = 0; i < 8; i++) {
|
||||
rack[i] = cmd.rack[i];
|
||||
}
|
||||
|
||||
response.write(
|
||||
JSON.stringify({
|
||||
error: 0,
|
||||
rack: rack,
|
||||
date: dateNow
|
||||
})
|
||||
);
|
||||
|
||||
break;
|
||||
case "resetGame":
|
||||
game.reset();
|
||||
response.write("{\"error\":0}");
|
||||
break;
|
||||
|
||||
case "msg":
|
||||
game.pendingEvents.push({
|
||||
msg: {
|
||||
sender: playerName,
|
||||
content: cmd.msg
|
||||
},
|
||||
date: dateNow
|
||||
})
|
||||
);
|
||||
});
|
||||
response.write("{\"error\":0}");
|
||||
break;
|
||||
|
||||
break;
|
||||
case "resetGame":
|
||||
game.reset();
|
||||
response.write("{\"error\":0}");
|
||||
break;
|
||||
|
||||
case "msg":
|
||||
game.pendingEvents.push({
|
||||
msg: {
|
||||
sender: playerName,
|
||||
content: cmd.msg
|
||||
},
|
||||
date: dateNow
|
||||
});
|
||||
response.write("{\"error\":0}");
|
||||
break;
|
||||
|
||||
default:
|
||||
response.write("{\"error\":1,\"reason\":\"Unknown command\"}");
|
||||
break;
|
||||
default:
|
||||
response.write("{\"error\":1,\"reason\":\"Unknown command\"}");
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue