Não pode escolher mais do que 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.

290 linhas
12 KiB

  1. local ncmajDefine=MJFramework.MJFrameworkClassImprot("mj.luaScript.MJDefine")
  2. ncmajDefine.GameID = 54
  3. ncmajDefine.IS_NEW_3D = true
  4. --碰牌后推送的听牌提示
  5. ncmajDefine.MJEvent.OutCardTings="MJEvent_OutCardTings"
  6. ncmajDefine.MJEvent.HuResponse = "MJEvent_HuResponse"
  7. --通知庄家爆牌
  8. ncmajDefine.MJEvent.BankerBaoPai= "MJEvent_BankerBaoPai"
  9. --请求爆牌
  10. ncmajDefine.MJEvent.BaoPaiRequest= "MJEvent_BaoPaiRequest"
  11. --广播爆牌
  12. ncmajDefine.MJEvent.BaoPaiResponse = "MJEvent_BaoPaiResponse"
  13. --发送过操作
  14. ncmajDefine.MJEvent.SendGuo = "MJEvent_SendGuo"
  15. --抢断操作操作
  16. ncmajDefine.MJEvent.QiangDuanOperates = "MJEvent_QiangDuanOperates"
  17. --广播开始飘
  18. ncmajDefine.MJEvent.StartPiao = "MJEvent_StartPiao"
  19. --请求飘
  20. ncmajDefine.MJEvent.PiaoRequest = "MJEvent_PiaoRequest"
  21. --飘返回
  22. ncmajDefine.MJEvent.PiaoResponse = "MJEvent_PiaoResponse"
  23. --通知换三张
  24. ncmajDefine.MJEvent.NoticeSwapCard = "MJEvent_NoticeSwapCard"
  25. --请求换三张
  26. ncmajDefine.MJEvent.RequestSwapCard = "MJEvent_RequestSwapCard"
  27. --换三张错误
  28. ncmajDefine.MJEvent.SwapCardErr = "MJEvent_SwapCardErr"
  29. --换三张成功
  30. ncmajDefine.MJEvent.SwapCardSucc = "MJEvent_SwapCardSucc"
  31. --换三张成功信息
  32. ncmajDefine.MJEvent.SwapCardSuccInfo = "MJEvent_SwapCardSuccInfo"
  33. --通知定缺
  34. ncmajDefine.MJEvent.NoticeDingQue = "MJEvent_NoticeDingQue"
  35. --请求定缺
  36. ncmajDefine.MJEvent.RequestDingQue = "MJEvent_RequestDingQue"
  37. --定缺成功
  38. ncmajDefine.MJEvent.DingQueSucc = "MJEvent_DingQueSucc"
  39. --定缺成功广播告诉玩家定缺类型
  40. ncmajDefine.MJEvent.DingQueSuccInfo = "MJEvent_DingQueSuccInfo"
  41. --定缺之后的操作,内容和0x8106保持统一 广播桌子上所有玩家庄家起手操作
  42. ncmajDefine.MJEvent.AfterDingQue = "MJEvent_AfterDingQue"
  43. --请求躺牌
  44. ncmajDefine.MJEvent.TangPaiRequest= "MJEvent_TangPaiRequest"
  45. --广播躺牌
  46. ncmajDefine.MJEvent.TangPaiResponse = "MJEvent_TangPaiResponse"
  47. --红中是否参与碰杠
  48. ncmajDefine.isTieGui = true
  49. --发牌是否自动对齐
  50. ncmajDefine.isAutomatic = true
  51. --发牌时有操作可以出牌,并发送过操作
  52. ncmajDefine.outCardSendGuo = false
  53. ncmajDefine.isReady = false
  54. ncmajDefine.isSendGuo = false
  55. ncmajDefine.isLanguage = true
  56. --出牌速度
  57. ncmajDefine.MJ_TIME_OUT_CARD=0.1
  58. ncmajDefine.MJ_TIME_OUT_CARD_SCALE=0.1
  59. ncmajDefine.MJ_TIME_OUT_CARD_WAIT=0.1
  60. ncmajDefine.MJ_OUT_CARD_SCALE=0.5
  61. ncmajDefine.MJRes = {
  62. [ncmajDefine.DesktopType.TwoD] = {"mj/res/ui/zy_fangjian/mj.plist", "mj/res/ui/zy_fangjian/mj_2d.plist","mj/res/ui/zy_fangjian/mahjong/mj_2d_cards.plist",},
  63. [ncmajDefine.DesktopType.ThreeD] = {"mj/res/ui/zy_fangjian/mj.plist", "mj/res/ui/zy_fangjian/mahjong/mj_3d_cards_1.plist", "mj/res/ui/zy_fangjian/mahjong/mj_3d_cards_2.plist", "mj/res/ui/zy_fangjian/mahjong/mj_2d_cards.plist","mj/res/ui/zy_fangjian/mj_2d.plist",},
  64. [ncmajDefine.DesktopType.TwoDGold] = {"mj/res/ui/zy_fangjian/mj.plist","mj/res/ui/zy_fangjian/mj_2d_gold.plist", "mj/res/ui/zy_fangjian/mahjong/mj_2d_cards.plist"},
  65. [ncmajDefine.DesktopType.TwoDL] = {"mj/res/ui/zy_fangjian/mj.plist", "mj/res/ui/zy_fangjian/mj_2d.plist","mj/res/ui/zy_fangjian/mahjong/mj_2d_cards.plist","mj_ncmaj/res/zy_fangjian/mj_2d_cards_l.plist"},
  66. }
  67. -- 游戏状态
  68. ncmajDefine.GameStatus={
  69. GAME_STATUS_INIT = 0, --//初始状态
  70. GAME_STATUS_WAIT_BANKER_START = 1, --//等待庄家开始游戏
  71. GAME_STATUS_SHUFFLE = 2, --//洗牌中即定庄与开打之间的状态
  72. GAME_STATUS_GANG_AFTER = 3, --//杠完牌之后
  73. GAME_STATUS_WAIT_OUT_CARD = 4, --//等待玩家出牌
  74. GAME_STATUS_WAIT_OPERATE = 5, --//等待玩家操作
  75. GAME_STATUS_WAIT_QIANG_GANG_HU = 6, --//等待抢杠胡
  76. GAME_STATUS_WAIT_PIAO = 7, --//等待玩家飘操作
  77. GAME_STATUS_WAIT_OP_BAO = 8, --//等待爆牌
  78. GAME_STATUS_ROUND_OVER = 9, --//小局结束
  79. GAME_STATUS_GAME_OVER = 10,--//总结算
  80. }
  81. ncmajDefine.MJOperateType={
  82. OPREATE_CANCEL = 0x0000, --没有任何操作
  83. OPREATE_CHUPAI = 0x0001, --出牌
  84. OPREATE_PLACE_CARD = 0x0002, --摆牌
  85. OPREATE_CHI = 0x0004, --吃操作
  86. OPREATE_PENG = 0x0008, --碰操作
  87. OPREATE_ZHIGANG = 0x0010, --直杠操作
  88. OPREATE_BAGANG = 0x0020, --巴杠
  89. OPREATE_ANGANG = 0x0040, --暗杠
  90. OPREATE_DIANPAOHU = 0x0080, --点炮胡牌
  91. OPREATE_ZIMOHU = 0x0100, --自胡牌
  92. OPREATE_GUOSHOUGANG = 0x0200, --过手杠 只做标识,操作值不会有
  93. OPREATE_MINGGANG = 0x0400, --明杠
  94. OPREATE_QIANG_GANG_HU = 0x0800, --抢杠胡
  95. }
  96. ncmajDefine.MJOperateNeedRemoveCard={
  97. OPREATE_CHI = 0x0004, --吃操作
  98. OPREATE_PENG = 0x0008, --碰操作
  99. OPREATE_ZHIGANG = 0x0010, --直杠操作
  100. -- OPREATE_BAGANG = 0x0010, --巴杠
  101. --OPREATE_ANGANG = 0x0020, --暗杠
  102. }
  103. --[[ncmajDefine.MJOperateType={
  104. OPREATE_CANCEL = 0x0000, --没有任何操作
  105. OPREATE_ZIMOHU = 0x0001, --自胡牌
  106. OPREATE_DIANPAOHU = 0x0002, --点炮胡牌
  107. OPREATE_CHI = 0x0004, --吃操作
  108. OPREATE_PENG = 0x0008, --碰操作
  109. OPREATE_ZHIGANG = 0x0010, --直杠操作
  110. OPREATE_BAGANG = 0x0020, --巴杠
  111. OPREATE_ANGANG = 0x0040, --暗杠
  112. OPREATE_MINGGANG = 0x0200, --明杠
  113. }--]]
  114. ncmajDefine.MJOperateImage={
  115. [ncmajDefine.MJOperateType.OPREATE_CANCEL]="mj/res/ui/zy_fangjian/operate/mj_btn_guo.png",
  116. [ncmajDefine.MJOperateType.OPREATE_PLACE_CARD]="mj_ncmaj/res/zy_fangjian/ncmajadd/mj_btn_tang.png",
  117. [ncmajDefine.MJOperateType.OPREATE_CHI]="mj/res/ui/zy_fangjian/operate/mj_btn_chi.png",
  118. [ncmajDefine.MJOperateType.OPREATE_PENG]="mj/res/ui/zy_fangjian/operate/mj_btn_peng.png",
  119. [ncmajDefine.MJOperateType.OPREATE_ZHIGANG]="mj/res/ui/zy_fangjian/operate/mj_btn_gang.png",
  120. [ncmajDefine.MJOperateType.OPREATE_BAGANG]="mj/res/ui/zy_fangjian/operate/mj_btn_gang.png",
  121. [ncmajDefine.MJOperateType.OPREATE_ANGANG]="mj/res/ui/zy_fangjian/operate/mj_btn_gang.png",
  122. [ncmajDefine.MJOperateType.OPREATE_DIANPAOHU]="mj/res/ui/zy_fangjian/operate/mj_btn_hu.png",
  123. [ncmajDefine.MJOperateType.OPREATE_ZIMOHU]="mj/res/ui/zy_fangjian/operate/mj_btn_hu.png",
  124. [ncmajDefine.MJOperateType.OPREATE_QIANG_GANG_HU]="mj/res/ui/zy_fangjian/operate/mj_btn_qiang_gang_hu.png",
  125. }
  126. ncmajDefine.MJGameHuType={
  127. HU_ZIMO = 1, --自摸
  128. HU_DIANPAO = 2, --点炮胡
  129. HU_QIANGGANG = 3, --抢杠胡
  130. }
  131. ncmajDefine.MJGamePaiType = {
  132. PING_HU = 0x0001, --平胡
  133. DUI_DUI_HU = 0x0002, --大对子
  134. QING_YI_SE = 0x0004, --清一色
  135. QI_DUI = 0x0008, --七对胡
  136. LONG_QI_DUI_SC = 0x0010, --龙七对
  137. AN_QI_DUI_SC = 0x0020, --暗七对
  138. QUE_ONE_MEN = 0x0040, --缺一门
  139. MEN_QING_HU_SC = 0x0080, --门清
  140. YI_TIAO_LONG_HU = 0x0100, --一条龙
  141. YI_BAN_GAO_HU = 0x0200, --一般高
  142. HAI_DI_LAO_HU = 0x000400, --海底捞
  143. HAI_DI_PAO_HU = 0x000800, --海底炮
  144. JIN_GOU_DIAO_HU = 0x001000, --金钩钓
  145. JIN_GOU_PAO_HU = 0x002000, --金钩炮
  146. KA_XIN_WU_HU = 0x004000, --卡心五
  147. BAI_PAI_HU = 0x008000, --摆牌
  148. BAI_DU_ZHANG_HU = 0x010000, --摆独张
  149. TIAN_HU = 0x020000, --天胡
  150. DI_HU = 0x040000, --地胡
  151. }
  152. ncmajDefine.MJGameHuStr = {
  153. [ncmajDefine.MJGamePaiType.PING_HU] = "平胡",
  154. [ncmajDefine.MJGamePaiType.DUI_DUI_HU] = "大对子",
  155. [ncmajDefine.MJGamePaiType.QING_YI_SE] = "清一色",
  156. [ncmajDefine.MJGamePaiType.QI_DUI] = "七对",
  157. [ncmajDefine.MJGamePaiType.LONG_QI_DUI_SC] = "龙七对",
  158. [ncmajDefine.MJGamePaiType.AN_QI_DUI_SC] = "暗七对",
  159. [ncmajDefine.MJGamePaiType.QUE_ONE_MEN] = "缺一门",
  160. [ncmajDefine.MJGamePaiType.MEN_QING_HU_SC] = "门清",
  161. [ncmajDefine.MJGamePaiType.YI_TIAO_LONG_HU] = "一条龙",
  162. [ncmajDefine.MJGamePaiType.YI_BAN_GAO_HU] = "一般高",
  163. [ncmajDefine.MJGamePaiType.HAI_DI_LAO_HU] = "扫底胡",
  164. [ncmajDefine.MJGamePaiType.HAI_DI_PAO_HU] = "海底炮",
  165. [ncmajDefine.MJGamePaiType.JIN_GOU_DIAO_HU] = "金钩钓",
  166. [ncmajDefine.MJGamePaiType.JIN_GOU_PAO_HU] = "金钩炮",
  167. [ncmajDefine.MJGamePaiType.KA_XIN_WU_HU] = "卡心五",
  168. [ncmajDefine.MJGamePaiType.BAI_PAI_HU] = "摆牌",
  169. [ncmajDefine.MJGamePaiType.BAI_DU_ZHANG_HU] = "摆独张",
  170. [ncmajDefine.MJGamePaiType.TIAN_HU] = "天胡",
  171. [ncmajDefine.MJGamePaiType.DI_HU] = "地胡",
  172. }
  173. --合并字符
  174. ncmajDefine.MJGameHuMargeTab = {
  175. {tab={"清一色","七对胡","1归"},name="清龙七对"},
  176. {tab={"清一色","七对胡","2归"},name="清双龙七对"},
  177. {tab={"清一色","七对胡","3归"},name="清三龙七对"},
  178. {tab={"清一色","大对子"},name="清大对"},
  179. {tab={"清一色","七对胡"},name="清七对"},
  180. {tab={"1归","七对胡"},name="龙七对"},
  181. {tab={"2归","七对胡"},name="双龙七对"},
  182. {tab={"3归","七对胡"},name="三龙七对"},
  183. }
  184. ncmajDefine.MJGameChatTxt = {
  185. [1] = "快点快点!多整两盘哦!",
  186. [2] = "催啥子催,我看叫哪张!",
  187. [3] = "你们太要不得了哦,只晓得按到我胡安",
  188. [4] = "你们整得好哦!我要来我要来!",
  189. [5] = "输家不开口,赢家不准走!",
  190. [6] = "我有事,先整一盘就走了,你们整开心哈",
  191. [7] = "美女,你胡撒子,我打给你哇",
  192. [8] = "帅哥,你胡撒子,我打给你哇",
  193. }
  194. ncmajDefine.MJChatTxt = {
  195. [1] = {txt="哎呀,咋子比乌龟还慢嘛!",oggStandard="mj_ncmaj/res/sound/f_%s/f_ncmaj_%s_text_1.ogg"},
  196. [2] = {txt="今天好霉,下手不要那么重嘛!",oggStandard="mj_ncmaj/res/sound/f_%s/f_ncmaj_%s_text_2.ogg"},
  197. [3] = {txt="快点快点,不要打酱油咯!",oggStandard="mj_ncmaj/res/sound/f_%s/f_ncmaj_%s_text_3.ogg"},
  198. [4] = {txt="你弹簧手是不是,快点出!",oggStandard="mj_ncmaj/res/sound/f_%s/f_ncmaj_%s_text_4.ogg"},
  199. [5] = {txt="你是想哭都哭不出来!",oggStandard="mj_ncmaj/res/sound/f_%s/f_ncmaj_%s_text_5.ogg"},
  200. [6] = {txt="你太牛了,必须点个赞!",oggStandard="mj_ncmaj/res/sound/f_%s/f_ncmaj_%s_text_6.ogg"},
  201. [7] = {txt="菩萨菩萨,来个卡卡!",oggStandard="mj_ncmaj/res/sound/f_%s/f_ncmaj_%s_text_7.ogg"},
  202. [8] = {txt="万水千山总是情,多输一点行不行!",oggStandard="mj_ncmaj/res/sound/f_%s/f_ncmaj_%s_text_8.ogg"},
  203. [9] = {txt="我的妈呀,不要摸啊!",oggStandard="mj_ncmaj/res/sound/f_%s/f_ncmaj_%s_text_9.ogg"},
  204. [10] = {txt="我的牌打的太好了!",oggStandard="mj_ncmaj/res/sound/f_%s/f_ncmaj_%s_text_10.ogg"},
  205. }
  206. ncmajDefine.LuoBoPos = {
  207. [1] = {[1] = cc.p(getWinSize().width/2,getWinSize().height/2-40)},
  208. [2] = {[1] = cc.p(getWinSize().width/2-50,getWinSize().height/2),[2] = cc.p(getWinSize().width/2+50,getWinSize().height/2)},
  209. }
  210. --操作值映射到实际显示麻将组类型
  211. ncmajDefine.MJOperateToGroupType={
  212. [ncmajDefine.MJOperateType.OPREATE_CHI]=ncmajDefine.MJGroupType.Chi,
  213. [ncmajDefine.MJOperateType.OPREATE_PENG]=ncmajDefine.MJGroupType.Peng,
  214. [ncmajDefine.MJOperateType.OPREATE_ZHIGANG]=ncmajDefine.MJGroupType.Gang,
  215. [ncmajDefine.MJOperateType.OPREATE_BAGANG]=ncmajDefine.MJGroupType.Gang,
  216. [ncmajDefine.MJOperateType.OPREATE_GUOSHOUGANG]=ncmajDefine.MJGroupType.Gang,
  217. [ncmajDefine.MJOperateType.OPREATE_ANGANG]=ncmajDefine.MJGroupType.AnGang,
  218. }
  219. ncmajDefine.CHANGE_GAME_BG =
  220. {
  221. [3] = {
  222. ['2d'] = "mj/res/ui/zy_fangjian/mj_2d_bg_lan.jpg",--"mj_ncmaj/res/zy_fangjian/ncmaj_2d_bg.png",
  223. ['3d'] = "mj_ncmaj/res/zy_fangjian/ncmaj_3d_bg.jpg",
  224. },
  225. [2] = {
  226. ['2d'] = "mj/res/ui/zy_fangjian/mj_2d_bg_zong.jpg",--"mj_ncmaj/res/zy_fangjian/ncmaj_jingdian_2d.png",
  227. ['3d'] = "mj_ncmaj/res/zy_fangjian/ncmaj_jingdian_25d.jpg",
  228. },
  229. [1] = {
  230. ['2d'] = "mj_ncmaj/res/zy_fangjian/ncmaj_shishang_2d.png",
  231. ['3d'] = "mj_ncmaj/res/zy_fangjian/ncmaj_shishang_25d.jpg",
  232. },
  233. }
  234. function loadMJConfig(desktopType)
  235. local AllMJConfigs = {
  236. [ncmajDefine.DesktopType.ThreeD] = "mj_ncmaj.luaScript.Views.3d.MJConfig_3d",
  237. [ncmajDefine.DesktopType.TwoD] = "mj_ncmaj.luaScript.Views.2d.MJConfig_2d",
  238. [ncmajDefine.DesktopType.TwoDGold] = "mj_ncmaj.luaScript.Views.2d.MJConfig_2d_gold",
  239. [ncmajDefine.DesktopType.TwoDL] = "mj_ncmaj.luaScript.Views.2d.MJConfig_2d_L",
  240. }
  241. -- 修复2d金黄切墨绿时,部分配置没有重写成功的bug
  242. package.loaded['mj.luaScript.Common.2d.CommonMahjongConfig'] = nil
  243. desktopType = desktopType or app.systemSetting.info.viewType
  244. if not desktopType then
  245. desktopType = ncmajDefine.DesktopType.TwoD
  246. end
  247. ncmajDefine.MJConfig_3d = require(AllMJConfigs[ncmajDefine.DesktopType.ThreeD])
  248. if desktopType ~= ncmajDefine.DesktopType.ThreeD then
  249. ncmajDefine.MJConfig_2d = require(AllMJConfigs[desktopType])
  250. else
  251. ncmajDefine.MJConfig_2d = require(AllMJConfigs[ncmajDefine.DesktopType.TwoD])
  252. end
  253. end
  254. ncmajDefine.loadMJConfig = loadMJConfig
  255. loadMJConfig()
  256. return ncmajDefine