score.js 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  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. var scorer = this.scores[playerId];
  27. if (scorer) {
  28. scorer.score += score;
  29. scorer.over += over;
  30. }
  31. };
  32. //ts++ 设置钻石消耗
  33. proto.writeCost = function (playerId, gameCost, giftCost) {
  34. var scorer = this.scores[playerId];
  35. if (scorer) {
  36. scorer.gameCost += gameCost;
  37. scorer.giftCost += giftCost;
  38. }
  39. };
  40. // 消费玩家
  41. proto.addUser = function (playerId,chairId,userId, name, sex, headurl,diamond,gameKindTL) {
  42. let scoreTL = 0;
  43. // if(gameKindTL == 2) scoreTL = 200;/////冲刺最多输200
  44. var scorer = this.scores[playerId];
  45. if (!scorer) {
  46. // console.warn("消费玩家++++++new:",chairId,diamond,agentId) agentId: agentId,
  47. scorer = { playerId:playerId,chairId:chairId,userId: userId, name: name, sex: sex, headurl: headurl,
  48. over: 0, score: scoreTL,diamond:diamond,gameCost: 0,giftCost: 0 };
  49. this.scores[playerId] = scorer;
  50. }
  51. else
  52. {
  53. // console.warn("消费玩家+++++upd",diamond)
  54. scorer.chairId = chairId;
  55. scorer.score = scoreTL;
  56. scorer.diamond = diamond;
  57. scorer.gameCost = 0;
  58. scorer.giftCost = 0;
  59. }
  60. return scorer;
  61. };
  62. // tl++,设置玩家chairID
  63. proto.setUserChair = function (playerId,chairId) {
  64. if (this.scores[playerId]) {
  65. this.scores[playerId].chairId = chairId;
  66. }
  67. };
  68. // 删除玩家
  69. proto.delUser = function (playerId) {
  70. if (this.scores[playerId]) {
  71. delete this.scores[playerId];
  72. }
  73. };
  74. // 是否消费
  75. proto.isFeed = function (playerId) {
  76. return !!this.scores[playerId];
  77. };
  78. // 获得玩家 sort
  79. proto.getUsers = function () {
  80. var scorers = [];
  81. for (let id in this.scores) {
  82. let scorer = this.scores[id];
  83. if (scorer.over > 0) {//ts--
  84. scorers.push(scorer);
  85. }
  86. }
  87. return scorers;
  88. };
  89. // 获得玩家
  90. proto.getUser = function (playerId) {
  91. var scorer = this.scores[playerId];
  92. if (scorer) return scorer;
  93. }