setHandCard_pdk.js 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265
  1. //////设置手牌的数值说明
  2. // 101,102,103,104,105,106,107,108,109,110,111,112,113,////这代表黑桃A~K
  3. // 203,204,205,206,207,208,209,210,211,212,213,////这代表红桃A~K
  4. // 303,304,305,306,307,308,309,310,311,312,313,////这代表梅花A~K
  5. // 403,404,405,406,407,408,409,410,411,412,////这代表方片A~K
  6. //////*****************所有标点符号必须使用英文的标点符号************
  7. 'use strict';
  8. var quick = require('quick-pomelo');
  9. var P = quick.Promise;
  10. // 构造方法
  11. var SetHandCard = function () {
  12. // this.app = table.game.app;
  13. };
  14. SetHandCard.cardGroupIndex = 0///////设置第几组手牌
  15. SetHandCard.setCardByPeople = [ /////// =true时手动设置百搭牌 =false时为系统自动设置百搭牌
  16. // {// 复制起点 15张
  17. // handCard:[
  18. // //////庄家的手牌写在下面这行,设置数值说明是最上面的那几行
  19. // [101,102,103,104,105,106,107,108,109,110,111,112,113,403,404],
  20. // [203,204,205,206,207,208,209,210,211,212,213,405,406,407,408],
  21. // [303,304,305,306,307,308,309,310,311,312,313,409,410,411,412]
  22. // ]
  23. // }, //复制结束点
  24. // {// 复制起点 16张
  25. // handCard:[
  26. // //////庄家的手牌写在下面这行,设置数值说明是最上面的那几行
  27. // [404,101,102,103,104,105,106,107,108,109,110,111,112,113,403,201],
  28. // [203,204,205,206,207,208,209,210,211,212,213,405,406,407,408,301],
  29. // [303,304,305,306,307,308,310,410,311,312,313,309,409,411,412,413]
  30. // ]
  31. // }, //复制结束点
  32. // {// 复制起点 15张 关两家
  33. // handCard:[
  34. // //////庄家的手牌写在下面这行,设置数值说明是最上面的那几行
  35. // [201,101,102,103,104,105,106,107,108,109,110,111,112,113,301],
  36. // [203,204,205,206,207,208,209,210,211,212,213,405,406,407,408],
  37. // [303,304,305,306,307,308,310,410,311,312,313,309,409,411,412]
  38. // ]
  39. // }, //复制结束点
  40. // {// 复制起点 16张 关两家
  41. // handCard:[
  42. // //////庄家的手牌写在下面这行,设置数值说明是最上面的那几行
  43. // [201,101,102,103,104,105,106,107,108,109,110,111,112,113,301,404],
  44. // [203,204,205,206,207,208,209,210,211,212,213,405,406,407,408,301],
  45. // [303,304,305,306,307,308,310,410,311,312,313,309,409,411,412,413]
  46. // ]
  47. // }, //复制结束点
  48. // {// 复制起点 16张测试炸弹顺子三带四带提示牌
  49. // handCard:[
  50. // //////庄家的手牌写在下面这行,设置数值说明是最上面的那几行
  51. // [203,101,102,103,104,105,106,107,108,109,110,111,112,113,403,303],//201
  52. // [404,204,205,206,207,208,209,210,211,212,213,405,406,407,408,301],
  53. // [303,304,305,306,307,308,310,410,311,312,313,309,409,411,412,413]
  54. // ]
  55. // }, //复制结束点
  56. // {// 复制起点 16张测试连对提示牌
  57. // handCard:[
  58. // //////庄家的手牌写在下面这行,设置数值说明是最上面的那几行
  59. // [103,204,304,206,207,208,209,210,211,104,213,405,406,407,408,303],
  60. // // [103,204,205,206,207,208,209,210,211,104,213,405,406,407,408,303],
  61. // [404,101,102,203,212,105,106,107,108,109,110,111,112,113,403,201],
  62. // [301,304,305,306,307,308,310,410,311,312,313,309,409,411,210,413]
  63. // // [301,304,305,306,307,308,310,410,311,312,313,309,409,411,412,413]
  64. // ]
  65. // }, //复制结束点
  66. // {// 复制起点 16张测试飞机提示牌
  67. // handCard:[
  68. // //////庄家的手牌写在下面这行,设置数值说明是最上面的那几行
  69. // // [103,204,205,206,207,208,304,210,211,104,213,405,406,407,203,303],
  70. // [103,204,205,206,308,208,305,306,408,104,213,405,406,407,203,303],
  71. // [404,101,102,203,212,105,106,107,108,109,110,111,112,113,403,201],
  72. // [301,304,305,306,307,308,310,410,311,312,313,309,409,411,412,413]
  73. // ]
  74. // }, //复制结束点
  75. // {// 复制起点 15张测试飞机提示牌
  76. // handCard:[
  77. // //////庄家的手牌写在下面这行,设置数值说明是最上面的那几行
  78. // [103,203,104,204,105,205,305,106,206,306,108,208,308,109,101],
  79. // [303,203,104,204,110,210,310,111,211,311,112,212,312,109,101],
  80. // [404,101,102,203,212,105,106,107,108,109,110,111,112,113,403],
  81. // ]
  82. // }, //复制结束点
  83. // {// 复制起点 15张测试飞机提示牌
  84. // handCard:[
  85. // //////庄家的手牌写在下面这行,设置数值说明是最上面的那几行
  86. // [103,203,104,204,105,205,305,106,206,306,108,208,308,109,101],
  87. // [303,309,109,209,110,210,310,111,211,311,112,212,312,203,101],
  88. // [404,101,102,203,212,105,106,107,108,109,110,111,112,113,403],
  89. // ]
  90. // }, //复制结束点
  91. // {// 复制起点 15张测试飞机提示牌
  92. // handCard:[
  93. // //////庄家的手牌写在下面这行,设置数值说明是最上面的那几行
  94. // [103,309,109,209,110,210,310,111,211,311,112,212,312,203,101],
  95. // [303,203,104,204,105,205,305,106,206,306,108,208,308,109,101],
  96. // [404,101,102,203,212,105,106,107,108,109,110,111,112,113,403],
  97. // ]
  98. // }, //复制结束点
  99. {// 复制起点 16张测试炸弹和报单提示牌
  100. handCard:[
  101. //////庄家的手牌写在下面这行,设置数值说明是最上面的那几行
  102. [105,205,305,405,108,208,308,408,109,209,309,409,410,411,412,413],
  103. [103,203,303,403,106,206,306,406,111,211,311,411,409,407,204,305],
  104. [104,204,304,404,107,207,307,407,110,210,310,410,112,113,403,201],
  105. ]
  106. }, //复制结束点
  107. // {// 复制起点 16张测试飞机提示牌 第一把出带3炸弹
  108. // handCard:[
  109. // //////庄家的手牌写在下面这行,设置数值说明是最上面的那几行
  110. // [103,203,303,403,108,208,308,408,109,209,309,409,410,411,412,413],
  111. // [105,205,305,405,106,206,306,406,111,211,311,411,409,407,204,305],
  112. // [104,204,304,404,107,207,307,407,110,210,310,410,112,113,403,201],
  113. // ]
  114. // }, //复制结束点
  115. // {// 复制起点 16张测试顺子是否能要的起 第一把出顺子
  116. // handCard:[
  117. // //////庄家的手牌写在下面这行,设置数值说明是最上面的那几行
  118. // [103,104,105,106,207,108,310,410,110,210,111,211,311,411,412,413],
  119. // [203,204,205,206,107,208,209,309,210,211,212,213,201,202,304,305],
  120. // [104,204,304,404,107,207,307,407,110,210,310,410,112,113,403,201],
  121. // ]
  122. // }, //复制结束点
  123. // {// 复制起点 16张测试三带一对是否能要的起 第一把出三带一对
  124. // handCard:[
  125. // //////庄家的手牌写在下面这行,设置数值说明是最上面的那几行
  126. // [103,203,105,106,107,108,310,410,110,210,111,211,311,411,412,413],
  127. // [303,204,205,206,207,208,209,309,210,211,113,213,313,201,101,212],
  128. // [104,204,304,404,107,207,307,407,110,210,310,410,112,113,403,201],
  129. // ]
  130. // }, //复制结束点
  131. // {// 复制起点 16张测试全关分数是否正确 第一把出单牌
  132. // handCard:[
  133. // //////庄家的手牌写在下面这行,设置数值说明是最上面的那几行
  134. // [103,204,105,106,107,108,309,410,110,210,111,211,311,312,412,305],
  135. // [303,204,205,206,207,208,209,210,211,212,113,213,313,413,101,201],
  136. // [104,203,304,404,107,206,307,407,110,210,310,411,112,113,403,201],
  137. // ]
  138. // }, //复制结束点
  139. // {// 复制起点 16张测试连对能否要的起,第一把先出连对
  140. // handCard:[
  141. // //////庄家的手牌写在下面这行,设置数值说明是最上面的那几行
  142. // [103,204,105,106,107,108,309,410,110,210,111,211,311,312,412,305],
  143. // [303,204,205,206,207,208,209,210,211,212,113,213,313,413,101,201],
  144. // [104,203,304,404,107,206,307,407,110,210,310,411,112,113,403,201],
  145. // ]
  146. // }, //复制结束点
  147. // {// 复制起点 16张测试三各种带和三带不够带
  148. // handCard:[
  149. // //////庄家的手牌写在下面这行,设置数值说明是最上面的那几行
  150. // [103,204,105,106,107,108,309,110,111,112,113,101,104,404,304],
  151. // [303,204,205,206,207,208,209,210,211,212,113,213,312,411,101],
  152. // [104,203,304,404,107,206,307,407,110,210,310,411,112,113,403],
  153. // ]
  154. // }, //复制结束点
  155. // {// 复制起点 16张测试飞机不够带
  156. // handCard:[
  157. // //////庄家的手牌写在下面这行,设置数值说明是最上面的那几行
  158. // [103,203,303,104,204,304,106,107,108,309,110,111,112,113,101],
  159. // [303,204,205,206,207,208,209,210,211,212,113,213,312,411,101],
  160. // [104,203,304,404,107,206,307,407,110,210,310,411,112,113,403],
  161. // ]
  162. // }, //复制结束点
  163. // {// 复制起点 16张测试飞机能否压得住
  164. // handCard:[
  165. // //////庄家的手牌写在下面这行,设置数值说明是最上面的那几行
  166. // [103,203,303,104,204,304,106,107,108,309,110,111,112,113,101],
  167. // // [303,204,205,206,207,208,209,210,211,212,113,213,312,411,101],
  168. // [303,204,205,206,207,208,209,210,211,212,113,107,307,108,308],
  169. // [104,203,304,404,107,206,307,407,110,210,310,411,112,113,403],
  170. // ]
  171. // }, //复制结束点
  172. // {// 复制起点 16张测试最后一手是炸弹会不会自动出
  173. // handCard:[
  174. // //////庄家的手牌写在下面这行,设置数值说明是最上面的那几行
  175. // [404,101,102,103,104,105,106,107,108,109,110,111,112,113,403,201],
  176. // [203,204,205,206,207,208,209,210,211,212,213,405,406,407,408,301],
  177. // [303,304,305,306,307,308,310,410,311,113,313,210,409,411,213,413]
  178. // ]
  179. // }, //复制结束点
  180. // {// 复制起点 16张测试三带带的牌
  181. // handCard:[
  182. // //////庄家的手牌写在下面这行,设置数值说明是最上面的那几行
  183. // [207,406,312,213,108,208,106,411,102,304,409,306,206,412,405,112],
  184. // [408,407,107,203,307,209,308,403,410,303,311,212,111,104,105,109],
  185. // [211,413,205,204,404,310,305,201,313,110,301,309,113,210,101,103],
  186. // ]
  187. // }, //复制结束点
  188. // {// 复制起点 16张优化顺子提示牌
  189. // handCard:[
  190. // //////庄家的手牌写在下面这行,设置数值说明是最上面的那几行
  191. // [103,204,304,206,207,208,209,210,211,104,213,405,406,407,408,303],
  192. // // [103,204,205,206,207,208,209,210,211,104,213,405,406,407,408,303],
  193. // [404,101,102,203,212,105,106,107,108,210,110,111,112,113,403,201],
  194. // [301,304,305,306,307,308,310,410,311,312,313,309,409,411,412,413]
  195. // ]
  196. // }, //复制结束点
  197. {// 复制起点 16张测试三各种带和三带不够带
  198. handCard:[
  199. //////庄家的手牌写在下面这行,设置数值说明是最上面的那几行
  200. [103,204,105,106,107,108,309,110,111,112,113,101,104,404,304],
  201. [303,204,205,206,207,208,209,210,211,212,113,213,312,411,101],
  202. [104,203,304,404,107,206,307,407,110,210,310,411,112,113,403],
  203. ]
  204. }, //复制结束点
  205. ]
  206. // 导出类
  207. module.exports = SetHandCard;
  208. // 原型对象
  209. var proto = SetHandCard.prototype;
  210. // ////设置首次发牌 返回一副假洗(相当于人工洗过)的牌
  211. proto.getSCFP = function () {
  212. if(!SetHandCard.setCardByPeople[SetHandCard.cardGroupIndex]) return/////未人工设置的话就返回空
  213. let cardPool = []
  214. let setItem = SetHandCard.setCardByPeople[SetHandCard.cardGroupIndex]
  215. let hancard1 = setItem.handCard[0]
  216. let hancard2 = setItem.handCard[1]
  217. let hancard3 = setItem.handCard[2]
  218. ///////拼接各个玩家的手牌
  219. cardPool = cardPool.concat(hancard1)
  220. cardPool = cardPool.concat(hancard2)
  221. cardPool = cardPool.concat(hancard3)
  222. return cardPool
  223. };