score.js 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  1. 'use strict';
  2. var quick = require('quick-pomelo');
  3. var P = quick.Promise;
  4. var C = require('../../share/constant');
  5. var logger = quick.logger.getLogger('score', __filename);
  6. // 构造方法
  7. var Score = function (table) {
  8. this.table = table;
  9. this.app = table.game.app;
  10. this.scores = {};
  11. };
  12. // 导出类
  13. module.exports = Score;
  14. // 原型对象
  15. var proto = Score.prototype;
  16. // 获取分数
  17. proto.getScore = function (playerId) {
  18. var scorer = this.scores[playerId];
  19. if (!scorer) {
  20. return 0;
  21. }
  22. return scorer.score;
  23. };
  24. // 设置分数
  25. proto.writeScore = function (playerId, score, over) {
  26. // console.warn("设置分数 writeScore+++++",playerId, score, over)
  27. var scorer = this.scores[playerId];
  28. if (scorer) {
  29. scorer.score += score;
  30. scorer.over += over;
  31. }
  32. };
  33. //ts++ 设置钻石消耗
  34. proto.writeCost = function (playerId, gameCost, giftCost) {
  35. var scorer = this.scores[playerId];
  36. if (scorer) {
  37. scorer.gameCost += gameCost;
  38. scorer.giftCost += giftCost;
  39. }
  40. };
  41. // 消费玩家
  42. proto.addUser = function (playerId,chairId,userId, name, sex, headurl,diamond,gameKindTL) {
  43. let scoreTL = 0;
  44. // if(gameKindTL == 2) scoreTL = 200;/////冲刺最多输200
  45. var scorer = this.scores[playerId];
  46. if (!scorer) {
  47. // console.warn("消费玩家++++++new:",chairId,diamond,agentId) agentId: agentId,
  48. scorer = { playerId:playerId,chairId:chairId,userId: userId, name: name, sex: sex, headurl: headurl,
  49. over: 0, score: scoreTL,diamond:diamond,gameCost: 0,giftCost: 0 };
  50. this.scores[playerId] = scorer;
  51. }
  52. else
  53. {
  54. // console.warn("消费玩家+++++upd",diamond)
  55. scorer.chairId = chairId;
  56. scorer.score = scoreTL;
  57. scorer.diamond = diamond;
  58. scorer.gameCost = 0;
  59. scorer.giftCost = 0;
  60. }
  61. return scorer;
  62. };
  63. // tl++,设置玩家chairID
  64. proto.setUserChair = function (playerId,chairId) {
  65. if (this.scores[playerId]) {
  66. this.scores[playerId].chairId = chairId;
  67. }
  68. };
  69. // 删除玩家
  70. proto.delUser = function (playerId) {
  71. if (this.scores[playerId]) {
  72. delete this.scores[playerId];
  73. }
  74. };
  75. // 是否消费
  76. proto.isFeed = function (playerId) {
  77. return !!this.scores[playerId];
  78. };
  79. // 获得玩家 sort
  80. proto.getUsers = function () {
  81. var scorers = [];
  82. for (let id in this.scores) {
  83. let scorer = this.scores[id];
  84. if (scorer.over > 0) {//ts--
  85. scorers.push(scorer);
  86. }
  87. }
  88. return scorers;
  89. };
  90. // 获得玩家
  91. proto.getUser = function (playerId) {
  92. var scorer = this.scores[playerId];
  93. if (scorer) return scorer;
  94. }