您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

410 行
16 KiB

  1. local MahjongConfig = require("mj_yibinmajiang.luaScript.Views.Configs.yibinmajiangMahjongConfig")
  2. local EventConfig = require("mj_yibinmajiang.luaScript.Views.Configs.yibinmajiangEventConfig")
  3. local yibinmajiangDefine= require("mj.luaScript.MJDefine")
  4. yibinmajiangDefine.GameID = 43
  5. yibinmajiangDefine.IS_NEW_3D = true
  6. -- 游戏事件
  7. for k, v in pairs(EventConfig or {}) do
  8. yibinmajiangDefine.MJEvent[k] = v;
  9. end
  10. -- 麻将牌配置
  11. for k, v in pairs(MahjongConfig or {}) do
  12. yibinmajiangDefine[k] = v;
  13. end
  14. --发牌是否自动对齐
  15. yibinmajiangDefine.isAutomatic = true
  16. --发牌时有操作可以出牌,并发送过操作
  17. yibinmajiangDefine.outCardSendGuo = false
  18. yibinmajiangDefine.isReady = false
  19. yibinmajiangDefine.isLanguage = true
  20. --触摸按钮的偏移量
  21. yibinmajiangDefine.MJ_OPERATE_PADDING = 155
  22. -- 麻将总牌数
  23. yibinmajiangDefine.totalCard = 108
  24. --出牌速度
  25. yibinmajiangDefine.MJ_TIME_OUT_CARD=0
  26. yibinmajiangDefine.MJ_TIME_OUT_CARD_SCALE=0
  27. yibinmajiangDefine.MJ_TIME_OUT_CARD_WAIT=0.3
  28. yibinmajiangDefine.MJ_OUT_CARD_SCALE=0.5
  29. --抢断操作操作
  30. yibinmajiangDefine.MJEvent.QiangDuanOperates = "MJEvent_QiangDuanOperates"
  31. yibinmajiangDefine.CHANGE_GAME_BG =
  32. {
  33. [3] = {
  34. ['2d'] = "mj/res/ui/zy_fangjian/mj_2d_bg_lan.jpg",
  35. ['3d'] = "mj/res/ui/zy_fangjian/room/room_bg/mj_room_bg_3d_jingdian.jpg",
  36. },
  37. [2] = {
  38. ['2d'] = "mj_yibinmajiang/res/zy_fangjian/desktop_bg/yibinmajiang_jingdian_2d.jpg",
  39. ['3d'] = "mj/res/ui/zy_fangjian/room/room_bg/mj_room_bg_3d_molv.jpg",
  40. },
  41. [1] = {
  42. ['2d'] = "mj/res/ui/zy_fangjian/mj_2d_bg_zong.jpg",
  43. ['3d'] = "mj_yibinmajiang/res/zy_fangjian/desktop_bg/yibinmajiang_shishang_25d.jpg",
  44. },
  45. }
  46. -- 游戏状态
  47. -- yibinmajiangDefine.GameStatus={
  48. -- GAME_STATUS_INIT = 0, --//初始状态
  49. -- GAME_STATUS_WAIT_BANKER_START = 1, --//等待庄家开始游戏
  50. -- GAME_STATUS_SHUFFLE = 2, --//洗牌中即定庄与开打之间的状态
  51. -- GAME_STATUS_GANG_AFTER = 3, --//杠完牌之后
  52. -- GAME_STATUS_WAIT_OUT_CARD = 4, --//等待玩家出牌
  53. -- GAME_STATUS_WAIT_OPERATE = 5, --//等待玩家操作
  54. -- GAME_STATUS_WAIT_QIANG_GANG_HU = 6, --//等待抢杠胡
  55. -- GAME_STATUS_ROUND_OVER = 9, --//小局结束
  56. -- GAME_STATUS_GAME_OVER = 10,--//总结算
  57. -- GAME_STATUS_WAIT_BAO_PAI = 11, --//等待闲家爆牌
  58. -- GAME_STATUS_WAIT_PIAO = 12, --//等待玩家飘操作
  59. -- }
  60. -- 游戏状态
  61. yibinmajiangDefine.GameStatus={
  62. GAME_STATUS_INIT = 0, --//初始状态
  63. GAME_STATUS_WAIT_BANKER_START = 1, --//等待庄家开始游戏
  64. GAME_STATUS_SHUFFLE = 2, --//洗牌中即定庄与开打之间的状态
  65. GAME_STATUS_GANG_AFTER = 3, --//杠完牌之后
  66. GAME_STATUS_WAIT_OUT_CARD = 4, --//等待玩家出牌
  67. GAME_STATUS_WAIT_OPERATE = 5, --//等待玩家操作
  68. GAME_STATUS_WAIT_QIANG_GANG_HU = 6, --//等待抢杠胡
  69. GAME_STATUS_WAIT_SWAP_CARDS = 7, --//等待换牌
  70. GAME_STATUS_WAIT_SELECT_QUE = 8, --//等待选缺
  71. GAME_STATUS_ROUND_OVER = 9, --//小局结束
  72. GAME_STATUS_GAME_OVER = 10,--//总结算
  73. GAME_STATUS_WAIT_BAO_PAI = 11,--//等待闲家暴牌
  74. GAME_STATUS_WAIT_PIAO = 12,--//等待玩家飘操作
  75. }
  76. yibinmajiangDefine.MJOperateType={
  77. OPREATE_CANCEL = 0x0000, -- 没有任何操作
  78. OPREATE_CHUPAI = 0x0001, -- 出牌
  79. OPREATE_CHI = 0x0002, -- 吃操作
  80. OPREATE_FEI = 0x0004, -- 飞操作
  81. OPREATE_PENG = 0x0008, -- 碰操作
  82. OPREATE_TI = 0x0010, -- 提操作
  83. OPREATE_ZHIGANG = 0x0020, -- 直杠操作
  84. OPREATE_BAGANG = 0x0040, -- 巴杠
  85. OPREATE_ANGANG = 0x0080, -- 暗杠
  86. OPREATE_DIANPAOHU = 0x0100, -- 点炮胡牌
  87. OPREATE_ZIMOHU = 0x0200, -- 自胡牌
  88. OPREATE_GUOSHOUGANG = 0x0400, -- 过手杠 只做标识,操作值不会有
  89. OPREATE_MINGGANG = 0x0800, -- 明杠
  90. OPREATE_QIANG_GANG_HU = 0x1000, -- 抢杠胡
  91. }
  92. yibinmajiangDefine.MJOperateNeedRemoveCard={
  93. OPREATE_CHI = 0x0002, -- 吃操作
  94. OPREATE_PENG = 0x0008, -- 碰操作
  95. OPREATE_ZHIGANG = 0x0020, -- 直杠操作
  96. OPREATE_FEI = 0x0004, -- 飞操作
  97. -- OPREATE_BAGANG = 0x0010, -- 巴杠
  98. --OPREATE_ANGANG = 0x0020, -- 暗杠
  99. }
  100. yibinmajiangDefine.MJOperateImage={
  101. [yibinmajiangDefine.MJOperateType.OPREATE_CANCEL]="mj/res/ui/zy_fangjian/operate/mj_btn_guo.png",
  102. [yibinmajiangDefine.MJOperateType.OPREATE_CHI]="mj/res/ui/zy_fangjian/operate/mj_btn_chi.png",
  103. [yibinmajiangDefine.MJOperateType.OPREATE_PENG]="mj/res/ui/zy_fangjian/operate/mj_btn_peng.png",
  104. [yibinmajiangDefine.MJOperateType.OPREATE_ZHIGANG]="mj/res/ui/zy_fangjian/operate/mj_btn_gang.png",
  105. [yibinmajiangDefine.MJOperateType.OPREATE_BAGANG]="mj/res/ui/zy_fangjian/operate/mj_btn_gang.png",
  106. [yibinmajiangDefine.MJOperateType.OPREATE_ANGANG]="mj/res/ui/zy_fangjian/operate/mj_btn_gang.png",
  107. [yibinmajiangDefine.MJOperateType.OPREATE_DIANPAOHU]="mj/res/ui/zy_fangjian/operate/mj_btn_hu.png",
  108. [yibinmajiangDefine.MJOperateType.OPREATE_ZIMOHU]="mj/res/ui/zy_fangjian/operate/mj_btn_hu.png",
  109. [yibinmajiangDefine.MJOperateType.OPREATE_QIANG_GANG_HU]="mj/res/ui/zy_fangjian/operate/mj_btn_qiang_gang_hu.png",
  110. [yibinmajiangDefine.MJOperateType.OPREATE_FEI]="mj_yibinmajiang/res/zy_fangjian/operate/yibinmajiang_operate_fei.png",
  111. [yibinmajiangDefine.MJOperateType.OPREATE_TI]="mj_yibinmajiang/res/zy_fangjian/operate/yibinmajiang_operate_ti.png",
  112. }
  113. yibinmajiangDefine.MJGameHuType={
  114. HU_ZIMO = 1, -- 自摸
  115. HU_DIANPAO = 2, -- 点炮胡
  116. HU_QIANGGANG = 3, -- 抢杠胡
  117. }
  118. yibinmajiangDefine.MJGamePaiType = {
  119. PING_HU = 0x0001, -- 平胡
  120. QING_YI_SE = 0x0002, -- 清一色
  121. DUI_DUI_HU = 0x0004, -- 对对胡
  122. QI_DUI = 0x0008, -- 七对胡
  123. DI_HU = 0x0010, -- 地胡
  124. TIAN_HU = 0x0020, -- 天胡
  125. GANG_SHANG_HUA = 0x0040, -- 杠上花
  126. GANG_SHANG_PAO = 0x0080, -- 杠上炮
  127. QIANG_GANG_HU = 0x0100, -- 抢杠胡
  128. NO_LAIZI = 0x0200, -- 无听用胡牌
  129. -- KA_ER_TIAO = 0x0200, -- 卡二条
  130. -- BAO_PAI = 0x0400, -- 报牌
  131. -- BO_ZI_MO = 0x0800, -- 博自摸
  132. JINGGOUDIAO = 0x0400, -- 金钩钓
  133. JINGGOUPAO = 0x0800, -- 金钩炮
  134. QING_DUI = 0x1000, -- 清对
  135. QING_QI_DUI = 0x2000, -- 清七对
  136. LONG_QI_DUI = 0x4000, -- 龙七对
  137. QING_LONG_QI_DUI = 0x8000, -- 清龙七对
  138. -- HAI_DI_HU = 0x2000, -- 双龙七对(龙七对)
  139. -- HAI_DI_PAO = 0x4000, -- 三龙七对
  140. -- LONG_QI_DUI_SC = 0x8000, -- 龙七对
  141. -- SHA_BAO = 0x10000, -- 杀报
  142. -- SHA_DU_ZI_MO = 0x20000, -- 杀博自摸
  143. -- DIAN_GANG_HUA = 0x40000, -- 点杠花
  144. }
  145. yibinmajiangDefine.MJGameHuStr = {
  146. [yibinmajiangDefine.MJGamePaiType.PING_HU] = "平胡",
  147. [yibinmajiangDefine.MJGamePaiType.QING_YI_SE] = "清一色",
  148. [yibinmajiangDefine.MJGamePaiType.DUI_DUI_HU] = "对对胡",
  149. [yibinmajiangDefine.MJGamePaiType.QI_DUI] = "七对",
  150. [yibinmajiangDefine.MJGamePaiType.DI_HU] = "地胡",
  151. [yibinmajiangDefine.MJGamePaiType.TIAN_HU] = "天胡",
  152. [yibinmajiangDefine.MJGamePaiType.GANG_SHANG_HUA] = "杠上花",
  153. [yibinmajiangDefine.MJGamePaiType.GANG_SHANG_PAO] = "杠上炮",--"杠上炮"
  154. [yibinmajiangDefine.MJGamePaiType.QIANG_GANG_HU] = "抢杠胡",
  155. [yibinmajiangDefine.MJGamePaiType.NO_LAIZI] = "无听用",
  156. -- [yibinmajiangDefine.MJGamePaiType.KA_ER_TIAO] = "卡二条",
  157. -- [yibinmajiangDefine.MJGamePaiType.BAO_PAI] = "报牌",
  158. -- [yibinmajiangDefine.MJGamePaiType.BO_ZI_MO] = "博自摸",
  159. [yibinmajiangDefine.MJGamePaiType.JINGGOUDIAO] = "金钩钓",
  160. [yibinmajiangDefine.MJGamePaiType.JINGGOUPAO] = "金钩炮",
  161. [yibinmajiangDefine.MJGamePaiType.QING_DUI] = "清对",
  162. [yibinmajiangDefine.MJGamePaiType.QING_QI_DUI] = "清七对",
  163. [yibinmajiangDefine.MJGamePaiType.LONG_QI_DUI] = "龙七对",
  164. [yibinmajiangDefine.MJGamePaiType.QING_LONG_QI_DUI] = "清龙七对",
  165. -- [yibinmajiangDefine.MJGamePaiType.HAI_DI_HU] = "双龙七对",
  166. -- [yibinmajiangDefine.MJGamePaiType.HAI_DI_PAO] = "三龙七对",
  167. -- [yibinmajiangDefine.MJGamePaiType.LONG_QI_DUI_SC] = "龙七对",
  168. -- [yibinmajiangDefine.MJGamePaiType.SHA_BAO] = "杀报",
  169. -- [yibinmajiangDefine.MJGamePaiType.SHA_DU_ZI_MO] = "杀博自摸",
  170. -- [yibinmajiangDefine.MJGamePaiType.DIAN_GANG_HUA] = "点杠花",
  171. }
  172. -- 胡牌子类型
  173. yibinmajiangDefine.MJGameSubPaiType = {
  174. BEN_JIN_HU = 0x0001, -- 本金胡
  175. JIE_BEN_JIN_HU = 0x0002, -- 接本金胡
  176. }
  177. -- 胡牌子类型字段
  178. yibinmajiangDefine.MJGameSubHuStr = {
  179. [yibinmajiangDefine.MJGameSubPaiType.BEN_JIN_HU] = "本金",
  180. [yibinmajiangDefine.MJGameSubPaiType.JIE_BEN_JIN_HU] = "接本金",
  181. }
  182. --合并字符(没用到。)
  183. yibinmajiangDefine.MJGameHuMargeTab = {
  184. {tab={"清一色","七对胡","1归"},name="清龙七对"},
  185. {tab={"清一色","七对胡","2归"},name="清双龙七对"},
  186. {tab={"清一色","七对胡","3归"},name="清三龙七对"},
  187. {tab={"清一色","对对胡"},name="清大对"},
  188. {tab={"清一色","七对胡"},name="清七对"},
  189. {tab={"1归","七对胡"},name="龙七对"},
  190. {tab={"2归","七对胡"},name="双龙七对"},
  191. {tab={"3归","七对胡"},name="三龙七对"},
  192. }
  193. yibinmajiangDefine.MJGameChatTxt = {
  194. [1] = "哎呀,咋子比乌龟还慢嘛!",
  195. [2] = "今天好霉,下手不要那么重嘛!",
  196. [3] = "快点快点,不要打酱油咯!",
  197. [4] = "你弹簧手是不是,快点出!",
  198. [5] = "你是想哭都哭不出来!",
  199. [6] = "你太牛了,必须点个赞!",
  200. [7] = "菩萨菩萨,来个卡卡!",
  201. [8] = "万水千山总是情,多输一点行不行!",
  202. [9] = "我的妈呀,不要摸啊!",
  203. [10] = "我的牌打的太好了!",
  204. }
  205. -- oggFile<$>mj_yibinmajiang/res/sound/f_man/f_yibinmajiang_1_text_5.ogg<$>string
  206. yibinmajiangDefine.MJChatTxt = {
  207. [1] = {txt="哎呀,咋子比乌龟还慢嘛!",oggStandard="mj_yibinmajiang/res/sound/f_%s/f_yibinmajiang_%s_text_1.ogg"},
  208. [2] = {txt="今天好霉,下手不要那么重嘛!",oggStandard="mj_yibinmajiang/res/sound/f_%s/f_yibinmajiang_%s_text_2.ogg"},
  209. [3] = {txt="快点快点,不要打酱油咯!",oggStandard="mj_yibinmajiang/res/sound/f_%s/f_yibinmajiang_%s_text_3.ogg"},
  210. [4] = {txt="你弹簧手是不是,快点出!",oggStandard="mj_yibinmajiang/res/sound/f_%s/f_yibinmajiang_%s_text_4.ogg"},
  211. [5] = {txt="你是想哭都哭不出来!",oggStandard="mj_yibinmajiang/res/sound/f_%s/f_yibinmajiang_%s_text_5.ogg"},
  212. [6] = {txt="你太牛了,必须点个赞!",oggStandard="mj_yibinmajiang/res/sound/f_%s/f_yibinmajiang_%s_text_6.ogg"},
  213. [7] = {txt="菩萨菩萨,来个卡卡!",oggStandard="mj_yibinmajiang/res/sound/f_%s/f_yibinmajiang_%s_text_7.ogg"},
  214. [8] = {txt="万水千山总是情,多输一点行不行!",oggStandard="mj_yibinmajiang/res/sound/f_%s/f_yibinmajiang_%s_text_8.ogg"},
  215. [9] = {txt="我的妈呀,不要摸啊!",oggStandard="mj_yibinmajiang/res/sound/f_%s/f_yibinmajiang_%s_text_9.ogg"},
  216. [10] = {txt="我的牌打的太好了!",oggStandard="mj_yibinmajiang/res/sound/f_%s/f_yibinmajiang_%s_text_10.ogg"},
  217. }
  218. yibinmajiangDefine.MJGroupType={
  219. Chi=1,
  220. Peng=2,
  221. Gang=3,
  222. AnGang=4,
  223. BaGang = 5,
  224. Fei = 6, -- 飞
  225. Ti = 7, -- 提
  226. }
  227. --操作值映射到实际显示麻将组类型
  228. yibinmajiangDefine.MJOperateToGroupType={
  229. [yibinmajiangDefine.MJOperateType.OPREATE_CHI]=yibinmajiangDefine.MJGroupType.Chi,
  230. [yibinmajiangDefine.MJOperateType.OPREATE_PENG]=yibinmajiangDefine.MJGroupType.Peng,
  231. [yibinmajiangDefine.MJOperateType.OPREATE_ZHIGANG]=yibinmajiangDefine.MJGroupType.Gang,
  232. [yibinmajiangDefine.MJOperateType.OPREATE_BAGANG]=yibinmajiangDefine.MJGroupType.BaGang,
  233. [yibinmajiangDefine.MJOperateType.OPREATE_GUOSHOUGANG]=yibinmajiangDefine.MJGroupType.Gang,
  234. [yibinmajiangDefine.MJOperateType.OPREATE_ANGANG]=yibinmajiangDefine.MJGroupType.AnGang,
  235. [yibinmajiangDefine.MJOperateType.OPREATE_FEI]=yibinmajiangDefine.MJGroupType.Fei,
  236. [yibinmajiangDefine.MJOperateType.OPREATE_TI]=yibinmajiangDefine.MJGroupType.Ti,
  237. }
  238. --麻将出牌换行个数
  239. yibinmajiangDefine.MJChangeLinCount={
  240. [yibinmajiangDefine.DesktopType.TwoD]={
  241. [2]={
  242. [yibinmajiangDefine.PlayerViewType.My]=22,
  243. [yibinmajiangDefine.PlayerViewType.Left]=10,
  244. [yibinmajiangDefine.PlayerViewType.Right]=10,
  245. [yibinmajiangDefine.PlayerViewType.Top]=22,
  246. },
  247. [3]={
  248. [yibinmajiangDefine.PlayerViewType.My]=11,
  249. [yibinmajiangDefine.PlayerViewType.Left]=11,
  250. [yibinmajiangDefine.PlayerViewType.Right]=11,
  251. [yibinmajiangDefine.PlayerViewType.Top]=11,
  252. },
  253. [4]={
  254. [yibinmajiangDefine.PlayerViewType.My]=11,
  255. [yibinmajiangDefine.PlayerViewType.Left]=11,
  256. [yibinmajiangDefine.PlayerViewType.Right]=11,
  257. [yibinmajiangDefine.PlayerViewType.Top]=11,
  258. },
  259. },
  260. [yibinmajiangDefine.DesktopType.ThreeD]={
  261. [2]={
  262. [yibinmajiangDefine.PlayerViewType.My]=18,
  263. [yibinmajiangDefine.PlayerViewType.Left]=9,
  264. [yibinmajiangDefine.PlayerViewType.Right]=9,
  265. [yibinmajiangDefine.PlayerViewType.Top]=20,
  266. },
  267. [3]={
  268. [yibinmajiangDefine.PlayerViewType.My]=9,
  269. [yibinmajiangDefine.PlayerViewType.Left]=9,
  270. [yibinmajiangDefine.PlayerViewType.Right]=9,
  271. [yibinmajiangDefine.PlayerViewType.Top]=10,
  272. },
  273. [4]={
  274. [yibinmajiangDefine.PlayerViewType.My]=9,
  275. [yibinmajiangDefine.PlayerViewType.Left]=11,
  276. [yibinmajiangDefine.PlayerViewType.Right]=11,
  277. [yibinmajiangDefine.PlayerViewType.Top]=10,
  278. },
  279. },
  280. [yibinmajiangDefine.DesktopType.TwoDGold]={
  281. [2]={
  282. [yibinmajiangDefine.PlayerViewType.My]=22,
  283. [yibinmajiangDefine.PlayerViewType.Left]=10,
  284. [yibinmajiangDefine.PlayerViewType.Right]=10,
  285. [yibinmajiangDefine.PlayerViewType.Top]=22,
  286. },
  287. [3]={
  288. [yibinmajiangDefine.PlayerViewType.My]=11,
  289. [yibinmajiangDefine.PlayerViewType.Left]=11,
  290. [yibinmajiangDefine.PlayerViewType.Right]=11,
  291. [yibinmajiangDefine.PlayerViewType.Top]=11,
  292. },
  293. [4]={
  294. [yibinmajiangDefine.PlayerViewType.My]=11,
  295. [yibinmajiangDefine.PlayerViewType.Left]=11,
  296. [yibinmajiangDefine.PlayerViewType.Right]=11,
  297. [yibinmajiangDefine.PlayerViewType.Top]=11,
  298. },
  299. },
  300. }
  301. yibinmajiangDefine.ScoreAnimationPos = {
  302. [1] = { x = getWinSize().width - 180, y = getWinSize().height / 2 + 80},
  303. [2] = { x = getWinSize().width / 2 + 200, y = getWinSize().height - 120},
  304. [3] = { x = 180, y = getWinSize().height / 2 + 80},
  305. [4] = { x = 180, y = 150},
  306. };
  307. function loadMJConfig(desktopType)
  308. local AllMJConfigs = {
  309. [yibinmajiangDefine.DesktopType.ThreeD] = "mj_yibinmajiang.luaScript.Views.3d.MJConfig_3d",
  310. [yibinmajiangDefine.DesktopType.TwoD] = "mj_yibinmajiang.luaScript.Views.2d.MJConfig_2d",
  311. [yibinmajiangDefine.DesktopType.TwoDGold] = "mj_yibinmajiang.luaScript.Views.2d.MJConfig_2d_gold",
  312. }
  313. -- 需要清理一下2D
  314. package.loaded['mj.luaScript.Common.2d.CommonMahjongConfig'] = nil
  315. desktopType = desktopType or app.systemSetting.info.viewType
  316. if not desktopType then
  317. desktopType = yibinmajiangDefine.DesktopType.TwoD
  318. end
  319. yibinmajiangDefine.MJConfig_3d = require(AllMJConfigs[yibinmajiangDefine.DesktopType.ThreeD])
  320. if desktopType ~= yibinmajiangDefine.DesktopType.ThreeD then
  321. yibinmajiangDefine.MJConfig_2d = require(AllMJConfigs[desktopType])
  322. else
  323. yibinmajiangDefine.MJConfig_2d = require(AllMJConfigs[yibinmajiangDefine.DesktopType.TwoD])
  324. end
  325. end
  326. yibinmajiangDefine.loadMJConfig = loadMJConfig
  327. -- 获得麻将的上下值
  328. function yibinmajiangDefine.getPrevAndNextValue(cardValue)
  329. if not cardValue then
  330. return
  331. end
  332. local prevValue, nextValue = nil, nil
  333. local p = cardValue -1
  334. local n = cardValue +1
  335. -- 如果要求1筒的上值不是9筒,是9万,那么需要把注释全部打开
  336. -- local function checkColor(colorValue)
  337. -- if colorValue > 2 then
  338. -- return 0
  339. -- elseif colorValue < 0 then
  340. -- return 2
  341. -- end
  342. -- return colorValue
  343. -- end
  344. -- 求上值
  345. local color = math.floor(p / 0x10)
  346. local value = math.floor(p % 0x10)
  347. if value < 1 then
  348. value = 9
  349. -- color = color - 1
  350. -- color = checkColor(color)
  351. end
  352. prevValue = color * 16 + value
  353. -- 求下值
  354. local color = math.floor(n / 0x10)
  355. local value = math.floor(n % 0x10)
  356. if value > 9 then
  357. value = 1
  358. -- color = color + 1
  359. -- color = checkColor(color)
  360. end
  361. nextValue = color * 16 + value
  362. return prevValue, nextValue
  363. end
  364. loadMJConfig()
  365. return yibinmajiangDefine