local MahjongConfig = require("mj_huamajiang.luaScript.Views.Configs.huamajiangMahjongConfig") local EventConfig = require("mj_huamajiang.luaScript.Views.Configs.huamajiangEventConfig") local huamajiangDefine= require("mj.luaScript.MJDefine") huamajiangDefine.GameID = 43 huamajiangDefine.IS_NEW_3D = true -- 游戏事件 for k, v in pairs(EventConfig or {}) do huamajiangDefine.MJEvent[k] = v; end -- 麻将牌配置 for k, v in pairs(MahjongConfig or {}) do huamajiangDefine[k] = v; end --红中是否参与碰杠 huamajiangDefine.isTieGui = true --发牌是否自动对齐 huamajiangDefine.isAutomatic = true --发牌时有操作可以出牌,并发送过操作 huamajiangDefine.outCardSendGuo = false huamajiangDefine.isReady = false huamajiangDefine.isSendGuo = false huamajiangDefine.isLanguage = true --出牌速度 huamajiangDefine.MJ_TIME_OUT_CARD=0 huamajiangDefine.MJ_TIME_OUT_CARD_SCALE=0 huamajiangDefine.MJ_TIME_OUT_CARD_WAIT=0.3 huamajiangDefine.MJ_OUT_CARD_SCALE=0.5 huamajiangDefine.CHANGE_GAME_BG = { [3] = { ['2d'] = "mj/res/ui/zy_fangjian/mj_2d_bg_lan.jpg", ['3d'] = "mj_huamajiang/res/zy_fangjian/desktop_bg/huamajiang_3d_bg.jpg", }, [2] = { ['2d'] = "mj_huamajiang/res/zy_fangjian/desktop_bg/huamajiang_jingdian_2d.jpg", ['3d'] = "mj_huamajiang/res/zy_fangjian/desktop_bg/huamajiang_jingdian_25d.jpg", }, [1] = { ['2d'] = "mj/res/ui/zy_fangjian/mj_2d_bg_zong.jpg", ['3d'] = "mj_huamajiang/res/zy_fangjian/desktop_bg/huamajiang_shishang_25d.jpg", }, } -- 游戏状态 huamajiangDefine.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_ROUND_OVER = 9, --//小局结束 GAME_STATUS_GAME_OVER = 10,--//总结算 GAME_STATUS_WAIT_BAO_PAI = 11, --//等待闲家爆牌 GAME_STATUS_WAIT_PIAO = 12, --//等待玩家飘操作 } huamajiangDefine.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, -- 抢杠胡 } huamajiangDefine.MJOperateImage={ [huamajiangDefine.MJOperateType.OPREATE_CANCEL]="mj/res/ui/zy_fangjian/operate/mj_btn_guo.png", [huamajiangDefine.MJOperateType.OPREATE_CHI]="mj/res/ui/zy_fangjian/operate/mj_btn_chi.png", [huamajiangDefine.MJOperateType.OPREATE_PENG]="mj/res/ui/zy_fangjian/operate/mj_btn_peng.png", [huamajiangDefine.MJOperateType.OPREATE_ZHIGANG]="mj/res/ui/zy_fangjian/operate/mj_btn_gang.png", [huamajiangDefine.MJOperateType.OPREATE_BAGANG]="mj/res/ui/zy_fangjian/operate/mj_btn_gang.png", [huamajiangDefine.MJOperateType.OPREATE_ANGANG]="mj/res/ui/zy_fangjian/operate/mj_btn_gang.png", [huamajiangDefine.MJOperateType.OPREATE_DIANPAOHU]="mj/res/ui/zy_fangjian/operate/mj_btn_hu.png", [huamajiangDefine.MJOperateType.OPREATE_ZIMOHU]="mj/res/ui/zy_fangjian/operate/mj_btn_hu.png", [huamajiangDefine.MJOperateType.OPREATE_QIANG_GANG_HU]="mj/res/ui/zy_fangjian/operate/mj_btn_qiang_gang_hu.png", } huamajiangDefine.MJGameHuType={ HU_ZIMO = 1, -- 自摸 HU_DIANPAO = 2, -- 点炮胡 HU_QIANGGANG = 3, -- 抢杠胡 } huamajiangDefine.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, -- 点杠花 } huamajiangDefine.MJGameHuStr = { [huamajiangDefine.MJGamePaiType.PING_HU] = "平胡", [huamajiangDefine.MJGamePaiType.QING_YI_SE] = "清一色", [huamajiangDefine.MJGamePaiType.DUI_DUI_HU] = "大对子", [huamajiangDefine.MJGamePaiType.QI_DUI] = "七对胡", [huamajiangDefine.MJGamePaiType.DI_HU] = "地胡", [huamajiangDefine.MJGamePaiType.TIAN_HU] = "天胡", [huamajiangDefine.MJGamePaiType.GANG_SHANG_HUA] = "杠上花", [huamajiangDefine.MJGamePaiType.GANG_SHANG_PAO] = "杠上炮",--"杠上炮" [huamajiangDefine.MJGamePaiType.QIANG_GANG_HU] = "抢杠胡", [huamajiangDefine.MJGamePaiType.KA_ER_TIAO] = "卡二条", [huamajiangDefine.MJGamePaiType.BAO_PAI] = "报牌", [huamajiangDefine.MJGamePaiType.BO_ZI_MO] = "博自摸", [huamajiangDefine.MJGamePaiType.JINGGOUDIAO] = "金钩钓", [huamajiangDefine.MJGamePaiType.HAI_DI_HU] = "双龙七对", [huamajiangDefine.MJGamePaiType.HAI_DI_PAO] = "三龙七对", [huamajiangDefine.MJGamePaiType.LONG_QI_DUI_SC] = "龙七对", [huamajiangDefine.MJGamePaiType.SHA_BAO] = "杀报", [huamajiangDefine.MJGamePaiType.SHA_DU_ZI_MO] = "杀博自摸", [huamajiangDefine.MJGamePaiType.DIAN_GANG_HUA] = "点杠花", } --合并字符 huamajiangDefine.MJGameHuMargeTab = { {tab={"清一色","七对胡","1归"},name="清龙七对"}, {tab={"清一色","七对胡","2归"},name="清双龙七对"}, {tab={"清一色","七对胡","3归"},name="清三龙七对"}, {tab={"清一色","大对子"},name="清大对"}, {tab={"清一色","七对胡"},name="清七对"}, {tab={"1归","七对胡"},name="龙七对"}, {tab={"2归","七对胡"},name="双龙七对"}, {tab={"3归","七对胡"},name="三龙七对"}, } huamajiangDefine.MJGameChatTxt = { [1] = "哎呀,咋子比乌龟还慢嘛!", [2] = "今天好霉,下手不要那么重嘛!", [3] = "快点快点,不要打酱油咯!", [4] = "你弹簧手是不是,快点出!", [5] = "你是想哭都哭不出来!", [6] = "你太牛了,必须点个赞!", [7] = "菩萨菩萨,来个卡卡!", [8] = "万水千山总是情,多输一点行不行!", [9] = "我的妈呀,不要摸啊!", [10] = "我的牌打的太好了!", } -- oggFile<$>mj_huamajiang/res/sound/f_man/f_huamajiang_1_text_5.ogg<$>string huamajiangDefine.MJChatTxt = { [1] = {txt="哎呀,咋子比乌龟还慢嘛!",oggStandard="mj_huamajiang/res/sound/f_%s/f_huamajiang_%s_text_1.ogg"}, [2] = {txt="今天好霉,下手不要那么重嘛!",oggStandard="mj_huamajiang/res/sound/f_%s/f_huamajiang_%s_text_2.ogg"}, [3] = {txt="快点快点,不要打酱油咯!",oggStandard="mj_huamajiang/res/sound/f_%s/f_huamajiang_%s_text_3.ogg"}, [4] = {txt="你弹簧手是不是,快点出!",oggStandard="mj_huamajiang/res/sound/f_%s/f_huamajiang_%s_text_4.ogg"}, [5] = {txt="你是想哭都哭不出来!",oggStandard="mj_huamajiang/res/sound/f_%s/f_huamajiang_%s_text_5.ogg"}, [6] = {txt="你太牛了,必须点个赞!",oggStandard="mj_huamajiang/res/sound/f_%s/f_huamajiang_%s_text_6.ogg"}, [7] = {txt="菩萨菩萨,来个卡卡!",oggStandard="mj_huamajiang/res/sound/f_%s/f_huamajiang_%s_text_7.ogg"}, [8] = {txt="万水千山总是情,多输一点行不行!",oggStandard="mj_huamajiang/res/sound/f_%s/f_huamajiang_%s_text_8.ogg"}, [9] = {txt="我的妈呀,不要摸啊!",oggStandard="mj_huamajiang/res/sound/f_%s/f_huamajiang_%s_text_9.ogg"}, [10] = {txt="我的牌打的太好了!",oggStandard="mj_huamajiang/res/sound/f_%s/f_huamajiang_%s_text_10.ogg"}, } huamajiangDefine.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)}, } huamajiangDefine.MJGroupType={ Chi=1, Peng=2, Gang=3, AnGang=4, BaGang = 5, } --操作值映射到实际显示麻将组类型 huamajiangDefine.MJOperateToGroupType={ [huamajiangDefine.MJOperateType.OPREATE_CHI]=huamajiangDefine.MJGroupType.Chi, [huamajiangDefine.MJOperateType.OPREATE_PENG]=huamajiangDefine.MJGroupType.Peng, [huamajiangDefine.MJOperateType.OPREATE_ZHIGANG]=huamajiangDefine.MJGroupType.Gang, [huamajiangDefine.MJOperateType.OPREATE_BAGANG]=huamajiangDefine.MJGroupType.BaGang, [huamajiangDefine.MJOperateType.OPREATE_GUOSHOUGANG]=huamajiangDefine.MJGroupType.Gang, [huamajiangDefine.MJOperateType.OPREATE_ANGANG]=huamajiangDefine.MJGroupType.AnGang, } --麻将出牌换行个数 huamajiangDefine.MJChangeLinCount={ [huamajiangDefine.DesktopType.TwoD]={ [2]={ [huamajiangDefine.PlayerViewType.My]=22, [huamajiangDefine.PlayerViewType.Left]=10, [huamajiangDefine.PlayerViewType.Right]=10, [huamajiangDefine.PlayerViewType.Top]=22, }, [3]={ [huamajiangDefine.PlayerViewType.My]=11, [huamajiangDefine.PlayerViewType.Left]=11, [huamajiangDefine.PlayerViewType.Right]=11, [huamajiangDefine.PlayerViewType.Top]=11, }, [4]={ [huamajiangDefine.PlayerViewType.My]=11, [huamajiangDefine.PlayerViewType.Left]=11, [huamajiangDefine.PlayerViewType.Right]=11, [huamajiangDefine.PlayerViewType.Top]=11, }, }, [huamajiangDefine.DesktopType.ThreeD]={ [2]={ [huamajiangDefine.PlayerViewType.My]=18, [huamajiangDefine.PlayerViewType.Left]=9, [huamajiangDefine.PlayerViewType.Right]=9, [huamajiangDefine.PlayerViewType.Top]=20, }, [3]={ [huamajiangDefine.PlayerViewType.My]=9, [huamajiangDefine.PlayerViewType.Left]=9, [huamajiangDefine.PlayerViewType.Right]=9, [huamajiangDefine.PlayerViewType.Top]=10, }, [4]={ [huamajiangDefine.PlayerViewType.My]=9, [huamajiangDefine.PlayerViewType.Left]=11, [huamajiangDefine.PlayerViewType.Right]=11, [huamajiangDefine.PlayerViewType.Top]=10, }, }, [huamajiangDefine.DesktopType.TwoDGold]={ [2]={ [huamajiangDefine.PlayerViewType.My]=22, [huamajiangDefine.PlayerViewType.Left]=10, [huamajiangDefine.PlayerViewType.Right]=10, [huamajiangDefine.PlayerViewType.Top]=22, }, [3]={ [huamajiangDefine.PlayerViewType.My]=11, [huamajiangDefine.PlayerViewType.Left]=11, [huamajiangDefine.PlayerViewType.Right]=11, [huamajiangDefine.PlayerViewType.Top]=11, }, [4]={ [huamajiangDefine.PlayerViewType.My]=11, [huamajiangDefine.PlayerViewType.Left]=11, [huamajiangDefine.PlayerViewType.Right]=11, [huamajiangDefine.PlayerViewType.Top]=11, }, }, } huamajiangDefine.ScoreAnimationPos = { [1] = { x = getWinSize().width - 180, y = getWinSize().height / 2 + 80}, [2] = { x = getWinSize().width / 2 + 200, y = getWinSize().height - 120}, [3] = { x = 180, y = getWinSize().height / 2 + 80}, [4] = { x = 180, y = 150}, }; function loadMJConfig(desktopType) local AllMJConfigs = { [huamajiangDefine.DesktopType.ThreeD] = "mj_huamajiang.luaScript.Views.3d.MJConfig_3d", [huamajiangDefine.DesktopType.TwoD] = "mj_huamajiang.luaScript.Views.2d.MJConfig_2d", [huamajiangDefine.DesktopType.TwoDGold] = "mj_huamajiang.luaScript.Views.2d.MJConfig_2d_gold", } desktopType = desktopType or app.systemSetting.info.viewType if not desktopType then desktopType = huamajiangDefine.DesktopType.TwoD end -- 修复2d金黄切墨绿时,部分配置没有重写成功的bug package.loaded['mj.luaScript.Common.2d.CommonMahjongConfig'] = nil huamajiangDefine.MJConfig_3d = require(AllMJConfigs[huamajiangDefine.DesktopType.ThreeD]) if desktopType ~= huamajiangDefine.DesktopType.ThreeD then huamajiangDefine.MJConfig_2d = require(AllMJConfigs[desktopType]) else huamajiangDefine.MJConfig_2d = require(AllMJConfigs[huamajiangDefine.DesktopType.TwoD]) end end huamajiangDefine.loadMJConfig = loadMJConfig loadMJConfig() return huamajiangDefine