Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function fewestMovesWin(userID, moves, gameRedisNum, leaderboardTimestamp, callback)
- {
- Step(
- function checkFewestMovesWin()
- {
- var multi = redis.multi();
- multi.zscore("leaderboard_fewest_moves_win", userID + "_" + gameRedisNum, this.parallel());
- multi.zscore("game_leaderboard_fewest_moves_win_" + gameRedisNum, userID, this.parallel());
- multi.exec();
- },
- function saveFewestMovesWin(err, existingFewestMovesWin, existingGameFewestMovesWin)
- {
- if(err)
- throw err;
- existingFewestMovesWin = (+existingFewestMovesWin || 0); // Converts to number or defaults to zero
- existingGameFewestMovesWin = (+existingGameFewestMovesWin || 0);
- var multi = redis.multi();
- // Combines the number of moves made with when when it took place into a single number (npm info number_smusher)
- var smushed = number_smusher.smush(moves, leaderboardTimestamp);
- if(!existingFewestMovesWin || smushed<existingFewestMovesWin)
- {
- multi.zadd("leaderboard_fewest_moves_win", smushed, userID + "_" + gameRedisNum, this.parallel());
- multi.zremrangebyrank("leaderboard_fewest_moves_win", 500, -1, this.parallel());
- }
- if(!existingGameFewestMovesWin || smushed<existingGameFewestMovesWin)
- {
- multi.zadd("game_leaderboard_fewest_moves_win_" + gameRedisNum, smushed, userID, this.parallel());
- multi.zremrangebyrank("game_leaderboard_fewest_moves_win_" + gameRedisNum, 500, -1, this.parallel());
- }
- multi.exec(this.parallel());
- },
- function finish(err)
- {
- callback(err);
- }
- );
- }
Add Comment
Please, Sign In to add comment