const games = {};
-let dateNow = 0;
let saveTimeout = null;
let running = true;
players: [{
player: player,
score: score
- }],
- date: dateNow
+ }]
}
);
};
}
}
- this.pendingEvents.push({
- players: players,
- date: dateNow
- });
+ this.pendingEvents.push({players: players});
};
Game.prototype.addListeningPlayer = function (playerName, responseAndIsES) {
this.pendingEvents.push({
player: player,
action: "popBag",
- remainingLetters: this.remainingLetters,
- date: dateNow
+ remainingLetters: this.remainingLetters
});
return letter;
Game.prototype.setCell = function (index, letter, player) {
this.board[index] = letter;
- this.pendingEvents.push(
- {
- player:player,
- action:"setCell",
- indexTo:index,
- letter:letter,
- date: dateNow
- }
- );
+ this.pendingEvents.push({
+ player:player,
+ action:"setCell",
+ indexTo:index,
+ letter:letter
+ });
};
Game.prototype.bagPushLetter = function (letter, player) {
this.remainingLetters++;
- this.pendingEvents.push(
- {
- player: player,
- action: "pushBag",
- remainingLetters: this.remainingLetters,
- date: dateNow
- }
- );
+ this.pendingEvents.push({
+ player: player,
+ action: "pushBag",
+ remainingLetters: this.remainingLetters
+ });
}
};
action: "reset",
board: this.board,
remainingLetters: this.remainingLetters,
- rack: [],
- date: dateNow
+ rack: []
});
this.playerJoined();
let rack = null;
switch (cmd.cmd) {
+ case "sync": // DEPRECATED. Here for old clients.
case "joinGame": {
response.write(
JSON.stringify({
"rack": game.getPlayerRack(playerName),
"board": game.board,
"remainingLetters": game.remainingLetters,
- "letterValues": frValues,
- "date": dateNow,
- "sync": false
+ "letterValues": frValues
})
);
break;
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}");
from: cmd.from,
to: cmd.to,
indexFrom: typeof cmd.indexFrom === "number" ? cmd.indexFrom : -1,
- remainingLetters: game.remainingLetters,
- date: dateNow
+ remainingLetters: game.remainingLetters
})
);
players: [{
player: playerName,
rackCount: countTiles(rack)
- }],
- date: dateNow
+ }]
});
}
break;
JSON.stringify({
error: 1,
rack: rack,
- reason: "the new rack doesn't contain the same number of letters",
- date: dateNow
+ reason: "the new rack doesn't contain the same number of letters"
})
);
break;
JSON.stringify({
error: 1,
rack: rack,
- reason: "the new rack is not a permutation of the old rack",
- date: dateNow
+ reason: "the new rack is not a permutation of the old rack"
})
);
break;
response.write(
JSON.stringify({
error: 0,
- rack: rack,
- date: dateNow
+ rack: rack
})
);
msg: {
sender: playerName,
content: cmd.msg
- },
- date: dateNow
+ }
});
response.write("{\"error\":0}");
break;
"letterValues": game.letterValues,
"rack": game.getPlayerRack(cmds.playerName),
"board": game.board,
- "remainingLetters": game.remainingLetters,
- "date": dateNow
+ "remainingLetters": game.remainingLetters
})
);
response.setHeader("Transfer-Encoding", "chunked");
}
- dateNow = Date.now();
debuglog("RECEIVED", request.url, post, responseAndIsES[1]);
try {