local xcmajDefine=MJFramework.MJFrameworkClassImprot("mj.luaScript.MJDefine") xcmajDefine.GameID = 52 xcmajDefine.IS_NEW_3D = true --碰牌后推送的听牌提示 xcmajDefine.MJEvent.OutCardTings="MJEvent_OutCardTings" xcmajDefine.MJEvent.HuResponse = "MJEvent_HuResponse" --通知庄家爆牌 xcmajDefine.MJEvent.BankerBaoPai= "MJEvent_BankerBaoPai" --请求爆牌 xcmajDefine.MJEvent.BaoPaiRequest= "MJEvent_BaoPaiRequest" --广播爆牌 xcmajDefine.MJEvent.BaoPaiResponse = "MJEvent_BaoPaiResponse" --发送过操作 xcmajDefine.MJEvent.SendGuo = "MJEvent_SendGuo" --抢断操作操作 xcmajDefine.MJEvent.QiangDuanOperates = "MJEvent_QiangDuanOperates" --广播开始飘 xcmajDefine.MJEvent.StartPiao = "MJEvent_StartPiao" --请求飘 xcmajDefine.MJEvent.PiaoRequest = "MJEvent_PiaoRequest" --飘返回 xcmajDefine.MJEvent.PiaoResponse = "MJEvent_PiaoResponse" --通知换三张 xcmajDefine.MJEvent.NoticeSwapCard = "MJEvent_NoticeSwapCard" --请求换三张 xcmajDefine.MJEvent.RequestSwapCard = "MJEvent_RequestSwapCard" --换三张错误 xcmajDefine.MJEvent.SwapCardErr = "MJEvent_SwapCardErr" --换三张成功 xcmajDefine.MJEvent.SwapCardSucc = "MJEvent_SwapCardSucc" --换三张成功信息 xcmajDefine.MJEvent.SwapCardSuccInfo = "MJEvent_SwapCardSuccInfo" --通知定缺 xcmajDefine.MJEvent.NoticeDingQue = "MJEvent_NoticeDingQue" --请求定缺 xcmajDefine.MJEvent.RequestDingQue = "MJEvent_RequestDingQue" --定缺成功 xcmajDefine.MJEvent.DingQueSucc = "MJEvent_DingQueSucc" --定缺成功广播告诉玩家定缺类型 xcmajDefine.MJEvent.DingQueSuccInfo = "MJEvent_DingQueSuccInfo" --定缺之后的操作,内容和0x8106保持统一 广播桌子上所有玩家庄家起手操作 xcmajDefine.MJEvent.AfterDingQue = "MJEvent_AfterDingQue" --红中是否参与碰杠 xcmajDefine.isTieGui = true --发牌是否自动对齐 xcmajDefine.isAutomatic = true --发牌时有操作可以出牌,并发送过操作 xcmajDefine.outCardSendGuo = false xcmajDefine.isReady = false xcmajDefine.isSendGuo = false xcmajDefine.isLanguage = true --出牌速度 xcmajDefine.MJ_TIME_OUT_CARD=0.1 xcmajDefine.MJ_TIME_OUT_CARD_SCALE=0.1 xcmajDefine.MJ_TIME_OUT_CARD_WAIT=0.1 xcmajDefine.MJ_OUT_CARD_SCALE=0.5 xcmajDefine.MJRes = { [xcmajDefine.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",}, [xcmajDefine.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",}, [xcmajDefine.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"}, --[MJDefine.DesktopType.TwoDGold] = {"mj/res/ui/zy_fangjian/mj.plist", "mj_yibinmajiang/res/zy_fangjian/card/mahjong/yibinmajiang_mj_2d_gold.plist", "mj/res/ui/zy_fangjian/mahjong/mj_2d_cards.plist"}, } -- 游戏状态 xcmajDefine.GameStatus={ GAME_STATUS_INIT = 0, --//初始状态 GAME_STATUS_WAIT_BANKER_START = 1, --//等待庄家开始游戏 GAME_STATUS_SHUFFLE = 2, --//洗牌中即定庄与开打之间的状态 GAME_STATUS_GANG_AFTER = 3, --//杠完牌之后 GAME_STATUS_WAIT_OUT_CARD = 4, --//等待玩家出牌 GAME_STATUS_WAIT_OPERATE = 5, --//等待玩家操作 GAME_STATUS_WAIT_QIANG_GANG_HU = 6, --//等待抢杠胡 GAME_STATUS_WAIT_SWAP_CARDS = 7, --//等待换牌 GAME_STATUS_WAIT_SELECT_QUE = 8, --//等待选缺 GAME_STATUS_ROUND_OVER = 9, --//小局结束 GAME_STATUS_GAME_OVER = 10,--//总结算 --GAME_STATUS_WAIT_BAO_PAI = 11, --//等待闲家爆牌 GAME_STATUS_WAIT_PIAO = 11, --//等待玩家飘操作 } xcmajDefine.MJOperateType={ OPREATE_CANCEL = 0x0000, --没有任何操作 OPREATE_CHUPAI = 0x0001, --出牌 OPREATE_CHI = 0x0002, --吃操作 OPREATE_PENG = 0x0004, --碰操作 OPREATE_ZHIGANG = 0x0008, --直杠操作 OPREATE_BAGANG = 0x0010, --巴杠 OPREATE_ANGANG = 0x0020, --暗杠 OPREATE_DIANPAOHU = 0x0040, --点炮胡牌 OPREATE_ZIMOHU = 0x0080, --自胡牌 OPREATE_GUOSHOUGANG = 0x0100, --过手杠 只做标识,操作值不会有 OPREATE_MINGGANG = 0x0200, --明杠 OPREATE_QIANG_GANG_HU = 0x0400, --抢杠胡 } --[[xcmajDefine.MJOperateType={ OPREATE_CANCEL = 0x0000, --没有任何操作 OPREATE_ZIMOHU = 0x0001, --自胡牌 OPREATE_DIANPAOHU = 0x0002, --点炮胡牌 OPREATE_CHI = 0x0004, --吃操作 OPREATE_PENG = 0x0008, --碰操作 OPREATE_ZHIGANG = 0x0010, --直杠操作 OPREATE_BAGANG = 0x0020, --巴杠 OPREATE_ANGANG = 0x0040, --暗杠 OPREATE_MINGGANG = 0x0200, --明杠 }--]] xcmajDefine.MJOperateImage={ [xcmajDefine.MJOperateType.OPREATE_CANCEL]="mj/res/ui/zy_fangjian/operate/mj_btn_guo.png", [xcmajDefine.MJOperateType.OPREATE_CHI]="mj/res/ui/zy_fangjian/operate/mj_btn_chi.png", [xcmajDefine.MJOperateType.OPREATE_PENG]="mj/res/ui/zy_fangjian/operate/mj_btn_peng.png", [xcmajDefine.MJOperateType.OPREATE_ZHIGANG]="mj/res/ui/zy_fangjian/operate/mj_btn_gang.png", [xcmajDefine.MJOperateType.OPREATE_BAGANG]="mj/res/ui/zy_fangjian/operate/mj_btn_gang.png", [xcmajDefine.MJOperateType.OPREATE_ANGANG]="mj/res/ui/zy_fangjian/operate/mj_btn_gang.png", [xcmajDefine.MJOperateType.OPREATE_DIANPAOHU]="mj/res/ui/zy_fangjian/operate/mj_btn_hu.png", [xcmajDefine.MJOperateType.OPREATE_ZIMOHU]="mj/res/ui/zy_fangjian/operate/mj_btn_hu.png", [xcmajDefine.MJOperateType.OPREATE_QIANG_GANG_HU]="mj/res/ui/zy_fangjian/operate/mj_btn_qiang_gang_hu.png", } xcmajDefine.MJGameHuType={ HU_ZIMO = 1, --自摸 HU_DIANPAO = 2, --点炮胡 HU_QIANGGANG = 3, --抢杠胡 } --[[xcmajDefine.MJGamePaiType = { PING_HU = 0x0001, --平胡 QING_YI_SE = 0x0002, --清一色 DUI_DUI_HU = 0x0004, --大对子 QI_DUI = 0x0008, --七对胡 DI_HU = 0x0010, --地胡 TIAN_HU = 0x0020, --天胡 GANG_SHANG_HUA = 0x0040, --杠上花 GANG_SHANG_PAO = 0x0080, --杠上炮 QIANG_GANG_HU = 0x0100, --抢杠胡 KA_ER_TIAO = 0x0200, --卡二条 BAO_PAI = 0x0400, --报牌 BO_ZI_MO = 0x0800, --博自摸 JINGGOUDIAO = 0x1000, --金钩钓 HAI_DI_HU = 0x2000, --金钩炮 HAI_DI_PAO = 0x4000, --海底炮 LONG_QI_DUI_SC = 0x8000, --龙七对 SHA_BAO = 0x10000, --杀报 SHA_DU_ZI_MO = 0x20000, --杀博自摸 DIAN_GANG_HUA = 0x40000, --点杠花 }--]] xcmajDefine.MJGamePaiType = { PING_HU = 0x01, --平胡 DUI_DUI_HU = 0x02, --对对胡 QING_YI_SE = 0x04, --清一色 QI_DUI = 0x08, --七对胡(2番) --[[QI_DUI = 0x02, --七对胡(2番) TIAN_HU = 0x03, --天胡 DI_HU = 0x04, --地胡 QING_LONG_QI_DUI = 0x05, --清龙七对 LONG_QI_DUI = 0x06, --龙七对 QING_QI_DUI = 0x07, --清七对 QING_YAO_JIU = 0x08, --清幺九 QING_DUI = 0x09, --清对 JIANG_DUI = 0x0A, --将对 QING_YI_SE = 0x0B, --清一色 DAI_YAO_JIU = 0x0C, --带幺九 DUI_DUI_HU = 0x0D, --对对胡 MEN_QING_HU = 0x0E, --门清 ZHONG_ZHANG_HU = 0x10, --中张 JIANG_QI_DUI = 0x11, --将七对--]] } xcmajDefine.MJGameHuStr = { [xcmajDefine.MJGamePaiType.PING_HU] = "平胡", [xcmajDefine.MJGamePaiType.QI_DUI] = "七对胡", --[xcmajDefine.MJGamePaiType.TIAN_HU] = "天胡", --[xcmajDefine.MJGamePaiType.DI_HU] = "地胡", --[xcmajDefine.MJGamePaiType.QING_LONG_QI_DUI] = "清龙七对", --[xcmajDefine.MJGamePaiType.LONG_QI_DUI] = "龙七对", --[xcmajDefine.MJGamePaiType.QING_QI_DUI] = "清七对", --[xcmajDefine.MJGamePaiType.QING_YAO_JIU] = "清幺九", --[xcmajDefine.MJGamePaiType.QING_DUI] = "清对", --[xcmajDefine.MJGamePaiType.JIANG_DUI] = "将对", [xcmajDefine.MJGamePaiType.QING_YI_SE] = "清一色", --[xcmajDefine.MJGamePaiType.DAI_YAO_JIU] = "带幺九", [xcmajDefine.MJGamePaiType.DUI_DUI_HU] = "对对胡", --[xcmajDefine.MJGamePaiType.MEN_QING_HU] = "门清", --[xcmajDefine.MJGamePaiType.ZHONG_ZHANG_HU] = "中张", --[xcmajDefine.MJGamePaiType.JIANG_QI_DUI] = "将七对", } --[[xcmajDefine.MJGameHuStr = { [xcmajDefine.MJGamePaiType.PING_HU] = "平胡", [xcmajDefine.MJGamePaiType.QING_YI_SE] = "清一色", [xcmajDefine.MJGamePaiType.DUI_DUI_HU] = "大对子", [xcmajDefine.MJGamePaiType.QI_DUI] = "七对胡", [xcmajDefine.MJGamePaiType.DI_HU] = "地胡", [xcmajDefine.MJGamePaiType.TIAN_HU] = "天胡", [xcmajDefine.MJGamePaiType.GANG_SHANG_HUA] = "杠上花", [xcmajDefine.MJGamePaiType.GANG_SHANG_PAO] = "杠上炮",--"杠上炮" [xcmajDefine.MJGamePaiType.QIANG_GANG_HU] = "抢杠胡", [xcmajDefine.MJGamePaiType.KA_ER_TIAO] = "卡二条", [xcmajDefine.MJGamePaiType.BAO_PAI] = "报牌", [xcmajDefine.MJGamePaiType.BO_ZI_MO] = "博自摸", [xcmajDefine.MJGamePaiType.JINGGOUDIAO] = "金钩钓", [xcmajDefine.MJGamePaiType.HAI_DI_HU] = "金钩炮", [xcmajDefine.MJGamePaiType.HAI_DI_PAO] = "海底炮", [xcmajDefine.MJGamePaiType.LONG_QI_DUI_SC] = "龙七对", [xcmajDefine.MJGamePaiType.SHA_BAO] = "杀报", [xcmajDefine.MJGamePaiType.SHA_DU_ZI_MO] = "杀博自摸", [xcmajDefine.MJGamePaiType.DIAN_GANG_HUA] = "点杠花", }--]] --合并字符 xcmajDefine.MJGameHuMargeTab = { {tab={"清一色","七对胡","1归"},name="清龙七对"}, {tab={"清一色","七对胡","2归"},name="清双龙七对"}, {tab={"清一色","七对胡","3归"},name="清三龙七对"}, {tab={"清一色","大对子"},name="清大对"}, {tab={"清一色","七对胡"},name="清七对"}, {tab={"1归","七对胡"},name="龙七对"}, {tab={"2归","七对胡"},name="双龙七对"}, {tab={"3归","七对胡"},name="三龙七对"}, } xcmajDefine.MJGameChatTxt = { [1] = "快点快点!多整两盘哦!", [2] = "催啥子催,我看叫哪张!", [3] = "你们太要不得了哦,只晓得按到我胡安", [4] = "你们整得好哦!我要来我要来!", [5] = "输家不开口,赢家不准走!", [6] = "我有事,先整一盘就走了,你们整开心哈", [7] = "美女,你胡撒子,我打给你哇", [8] = "帅哥,你胡撒子,我打给你哇", } xcmajDefine.MJChatTxt = { [1] = {txt="哎呀,咋子比乌龟还慢嘛!",oggStandard="mj_xcmaj/res/sound/f_%s/f_xcmaj_%s_text_1.ogg"}, [2] = {txt="今天好霉,下手不要那么重嘛!",oggStandard="mj_xcmaj/res/sound/f_%s/f_xcmaj_%s_text_2.ogg"}, [3] = {txt="快点快点,不要打酱油咯!",oggStandard="mj_xcmaj/res/sound/f_%s/f_xcmaj_%s_text_3.ogg"}, [4] = {txt="你弹簧手是不是,快点出!",oggStandard="mj_xcmaj/res/sound/f_%s/f_xcmaj_%s_text_4.ogg"}, [5] = {txt="你是想哭都哭不出来!",oggStandard="mj_xcmaj/res/sound/f_%s/f_xcmaj_%s_text_5.ogg"}, [6] = {txt="你太牛了,必须点个赞!",oggStandard="mj_xcmaj/res/sound/f_%s/f_xcmaj_%s_text_6.ogg"}, [7] = {txt="菩萨菩萨,来个卡卡!",oggStandard="mj_xcmaj/res/sound/f_%s/f_xcmaj_%s_text_7.ogg"}, [8] = {txt="万水千山总是情,多输一点行不行!",oggStandard="mj_xcmaj/res/sound/f_%s/f_xcmaj_%s_text_8.ogg"}, [9] = {txt="我的妈呀,不要摸啊!",oggStandard="mj_xcmaj/res/sound/f_%s/f_xcmaj_%s_text_9.ogg"}, [10] = {txt="我的牌打的太好了!",oggStandard="mj_xcmaj/res/sound/f_%s/f_xcmaj_%s_text_10.ogg"}, } xcmajDefine.LuoBoPos = { [1] = {[1] = cc.p(getWinSize().width/2,getWinSize().height/2-40)}, [2] = {[1] = cc.p(getWinSize().width/2-50,getWinSize().height/2),[2] = cc.p(getWinSize().width/2+50,getWinSize().height/2)}, } --操作值映射到实际显示麻将组类型 xcmajDefine.MJOperateToGroupType={ [xcmajDefine.MJOperateType.OPREATE_CHI]=xcmajDefine.MJGroupType.Chi, [xcmajDefine.MJOperateType.OPREATE_PENG]=xcmajDefine.MJGroupType.Peng, [xcmajDefine.MJOperateType.OPREATE_ZHIGANG]=xcmajDefine.MJGroupType.Gang, [xcmajDefine.MJOperateType.OPREATE_BAGANG]=xcmajDefine.MJGroupType.Gang, [xcmajDefine.MJOperateType.OPREATE_GUOSHOUGANG]=xcmajDefine.MJGroupType.Gang, [xcmajDefine.MJOperateType.OPREATE_ANGANG]=xcmajDefine.MJGroupType.AnGang, } xcmajDefine.CHANGE_GAME_BG = { [3] = { ['2d'] = "mj_xcmaj/res/zy_fangjian/xcmj_2d_bg.png", ['3d'] = "mj_xcmaj/res/zy_fangjian/xcmj_3d_bg.jpg", }, [2] = { ['2d'] = "mj_xcmaj/res/zy_fangjian/xcmj_jingdian_2d.png", ['3d'] = "mj_xcmaj/res/zy_fangjian/xcmj_jingdian_25d.jpg", }, [1] = { ['2d'] = "mj_xcmaj/res/zy_fangjian/xcmj_shishang_2d.png", ['3d'] = "mj_xcmaj/res/zy_fangjian/xcmj_shishang_25d.jpg", }, } function loadMJConfig(desktopType) local AllMJConfigs = { [xcmajDefine.DesktopType.ThreeD] = "mj_xcmaj.luaScript.Views.3d.MJConfig_3d", [xcmajDefine.DesktopType.TwoD] = "mj_xcmaj.luaScript.Views.2d.MJConfig_2d", [xcmajDefine.DesktopType.TwoDGold] = "mj_xcmaj.luaScript.Views.2d.MJConfig_2d_gold", } -- 修复2d金黄切墨绿时,部分配置没有重写成功的bug package.loaded['mj.luaScript.Common.2d.CommonMahjongConfig'] = nil desktopType = desktopType or app.systemSetting.info.viewType if not desktopType then desktopType = xcmajDefine.DesktopType.TwoD end xcmajDefine.MJConfig_3d = require(AllMJConfigs[xcmajDefine.DesktopType.ThreeD]) if desktopType ~= xcmajDefine.DesktopType.ThreeD then xcmajDefine.MJConfig_2d = require(AllMJConfigs[desktopType]) else xcmajDefine.MJConfig_2d = require(AllMJConfigs[xcmajDefine.DesktopType.TwoD]) end end xcmajDefine.loadMJConfig = loadMJConfig loadMJConfig() return xcmajDefine