|
- local MahjongConfig = require("mj_yibinmajiang.luaScript.Views.Configs.yibinmajiangMahjongConfig")
- local EventConfig = require("mj_yibinmajiang.luaScript.Views.Configs.yibinmajiangEventConfig")
- local yibinmajiangDefine= require("mj.luaScript.MJDefine")
-
- yibinmajiangDefine.GameID = 43
- yibinmajiangDefine.IS_NEW_3D = true
-
- -- 游戏事件
- for k, v in pairs(EventConfig or {}) do
- yibinmajiangDefine.MJEvent[k] = v;
- end
- -- 麻将牌配置
- for k, v in pairs(MahjongConfig or {}) do
- yibinmajiangDefine[k] = v;
- end
-
- --发牌是否自动对齐
- yibinmajiangDefine.isAutomatic = true
-
- --发牌时有操作可以出牌,并发送过操作
- yibinmajiangDefine.outCardSendGuo = false
-
- yibinmajiangDefine.isReady = false
-
- yibinmajiangDefine.isLanguage = true
-
- --触摸按钮的偏移量
- yibinmajiangDefine.MJ_OPERATE_PADDING = 155
-
- -- 麻将总牌数
- yibinmajiangDefine.totalCard = 108
-
- --出牌速度
- yibinmajiangDefine.MJ_TIME_OUT_CARD=0
- yibinmajiangDefine.MJ_TIME_OUT_CARD_SCALE=0
- yibinmajiangDefine.MJ_TIME_OUT_CARD_WAIT=0.3
- yibinmajiangDefine.MJ_OUT_CARD_SCALE=0.5
-
- --抢断操作操作
- yibinmajiangDefine.MJEvent.QiangDuanOperates = "MJEvent_QiangDuanOperates"
-
- yibinmajiangDefine.CHANGE_GAME_BG =
- {
- [3] = {
- ['2d'] = "mj/res/ui/zy_fangjian/mj_2d_bg_lan.jpg",
- ['3d'] = "mj/res/ui/zy_fangjian/room/room_bg/mj_room_bg_3d_jingdian.jpg",
- },
- [2] = {
- ['2d'] = "mj_yibinmajiang/res/zy_fangjian/desktop_bg/yibinmajiang_jingdian_2d.jpg",
- ['3d'] = "mj/res/ui/zy_fangjian/room/room_bg/mj_room_bg_3d_molv.jpg",
- },
- [1] = {
- ['2d'] = "mj/res/ui/zy_fangjian/mj_2d_bg_zong.jpg",
- ['3d'] = "mj_yibinmajiang/res/zy_fangjian/desktop_bg/yibinmajiang_shishang_25d.jpg",
- },
- }
-
- -- 游戏状态
- -- yibinmajiangDefine.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_ROUND_OVER = 9, --//小局结束
- -- GAME_STATUS_GAME_OVER = 10,--//总结算
- -- GAME_STATUS_WAIT_BAO_PAI = 11, --//等待闲家爆牌
- -- GAME_STATUS_WAIT_PIAO = 12, --//等待玩家飘操作
- -- }
-
- -- 游戏状态
- yibinmajiangDefine.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 = 12,--//等待玩家飘操作
- }
-
-
- yibinmajiangDefine.MJOperateType={
- OPREATE_CANCEL = 0x0000, -- 没有任何操作
- OPREATE_CHUPAI = 0x0001, -- 出牌
- OPREATE_CHI = 0x0002, -- 吃操作
- OPREATE_FEI = 0x0004, -- 飞操作
- OPREATE_PENG = 0x0008, -- 碰操作
- OPREATE_TI = 0x0010, -- 提操作
- OPREATE_ZHIGANG = 0x0020, -- 直杠操作
- OPREATE_BAGANG = 0x0040, -- 巴杠
- OPREATE_ANGANG = 0x0080, -- 暗杠
- OPREATE_DIANPAOHU = 0x0100, -- 点炮胡牌
- OPREATE_ZIMOHU = 0x0200, -- 自胡牌
- OPREATE_GUOSHOUGANG = 0x0400, -- 过手杠 只做标识,操作值不会有
- OPREATE_MINGGANG = 0x0800, -- 明杠
- OPREATE_QIANG_GANG_HU = 0x1000, -- 抢杠胡
- }
-
-
- yibinmajiangDefine.MJOperateNeedRemoveCard={
- OPREATE_CHI = 0x0002, -- 吃操作
- OPREATE_PENG = 0x0008, -- 碰操作
- OPREATE_ZHIGANG = 0x0020, -- 直杠操作
- OPREATE_FEI = 0x0004, -- 飞操作
- -- OPREATE_BAGANG = 0x0010, -- 巴杠
- --OPREATE_ANGANG = 0x0020, -- 暗杠
- }
-
- yibinmajiangDefine.MJOperateImage={
- [yibinmajiangDefine.MJOperateType.OPREATE_CANCEL]="mj/res/ui/zy_fangjian/operate/mj_btn_guo.png",
- [yibinmajiangDefine.MJOperateType.OPREATE_CHI]="mj/res/ui/zy_fangjian/operate/mj_btn_chi.png",
- [yibinmajiangDefine.MJOperateType.OPREATE_PENG]="mj/res/ui/zy_fangjian/operate/mj_btn_peng.png",
- [yibinmajiangDefine.MJOperateType.OPREATE_ZHIGANG]="mj/res/ui/zy_fangjian/operate/mj_btn_gang.png",
- [yibinmajiangDefine.MJOperateType.OPREATE_BAGANG]="mj/res/ui/zy_fangjian/operate/mj_btn_gang.png",
- [yibinmajiangDefine.MJOperateType.OPREATE_ANGANG]="mj/res/ui/zy_fangjian/operate/mj_btn_gang.png",
- [yibinmajiangDefine.MJOperateType.OPREATE_DIANPAOHU]="mj/res/ui/zy_fangjian/operate/mj_btn_hu.png",
- [yibinmajiangDefine.MJOperateType.OPREATE_ZIMOHU]="mj/res/ui/zy_fangjian/operate/mj_btn_hu.png",
- [yibinmajiangDefine.MJOperateType.OPREATE_QIANG_GANG_HU]="mj/res/ui/zy_fangjian/operate/mj_btn_qiang_gang_hu.png",
- [yibinmajiangDefine.MJOperateType.OPREATE_FEI]="mj_yibinmajiang/res/zy_fangjian/operate/yibinmajiang_operate_fei.png",
- [yibinmajiangDefine.MJOperateType.OPREATE_TI]="mj_yibinmajiang/res/zy_fangjian/operate/yibinmajiang_operate_ti.png",
- }
-
- yibinmajiangDefine.MJGameHuType={
- HU_ZIMO = 1, -- 自摸
- HU_DIANPAO = 2, -- 点炮胡
- HU_QIANGGANG = 3, -- 抢杠胡
- }
-
- yibinmajiangDefine.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, -- 抢杠胡
- NO_LAIZI = 0x0200, -- 无听用胡牌
- -- KA_ER_TIAO = 0x0200, -- 卡二条
- -- BAO_PAI = 0x0400, -- 报牌
- -- BO_ZI_MO = 0x0800, -- 博自摸
- JINGGOUDIAO = 0x0400, -- 金钩钓
- JINGGOUPAO = 0x0800, -- 金钩炮
- QING_DUI = 0x1000, -- 清对
- QING_QI_DUI = 0x2000, -- 清七对
- LONG_QI_DUI = 0x4000, -- 龙七对
- QING_LONG_QI_DUI = 0x8000, -- 清龙七对
-
- -- 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, -- 点杠花
- }
-
- yibinmajiangDefine.MJGameHuStr = {
- [yibinmajiangDefine.MJGamePaiType.PING_HU] = "平胡",
- [yibinmajiangDefine.MJGamePaiType.QING_YI_SE] = "清一色",
- [yibinmajiangDefine.MJGamePaiType.DUI_DUI_HU] = "对对胡",
- [yibinmajiangDefine.MJGamePaiType.QI_DUI] = "七对",
- [yibinmajiangDefine.MJGamePaiType.DI_HU] = "地胡",
- [yibinmajiangDefine.MJGamePaiType.TIAN_HU] = "天胡",
- [yibinmajiangDefine.MJGamePaiType.GANG_SHANG_HUA] = "杠上花",
- [yibinmajiangDefine.MJGamePaiType.GANG_SHANG_PAO] = "杠上炮",--"杠上炮"
- [yibinmajiangDefine.MJGamePaiType.QIANG_GANG_HU] = "抢杠胡",
- [yibinmajiangDefine.MJGamePaiType.NO_LAIZI] = "无听用",
- -- [yibinmajiangDefine.MJGamePaiType.KA_ER_TIAO] = "卡二条",
- -- [yibinmajiangDefine.MJGamePaiType.BAO_PAI] = "报牌",
- -- [yibinmajiangDefine.MJGamePaiType.BO_ZI_MO] = "博自摸",
- [yibinmajiangDefine.MJGamePaiType.JINGGOUDIAO] = "金钩钓",
- [yibinmajiangDefine.MJGamePaiType.JINGGOUPAO] = "金钩炮",
- [yibinmajiangDefine.MJGamePaiType.QING_DUI] = "清对",
- [yibinmajiangDefine.MJGamePaiType.QING_QI_DUI] = "清七对",
- [yibinmajiangDefine.MJGamePaiType.LONG_QI_DUI] = "龙七对",
- [yibinmajiangDefine.MJGamePaiType.QING_LONG_QI_DUI] = "清龙七对",
- -- [yibinmajiangDefine.MJGamePaiType.HAI_DI_HU] = "双龙七对",
- -- [yibinmajiangDefine.MJGamePaiType.HAI_DI_PAO] = "三龙七对",
- -- [yibinmajiangDefine.MJGamePaiType.LONG_QI_DUI_SC] = "龙七对",
- -- [yibinmajiangDefine.MJGamePaiType.SHA_BAO] = "杀报",
- -- [yibinmajiangDefine.MJGamePaiType.SHA_DU_ZI_MO] = "杀博自摸",
- -- [yibinmajiangDefine.MJGamePaiType.DIAN_GANG_HUA] = "点杠花",
- }
-
- -- 胡牌子类型
- yibinmajiangDefine.MJGameSubPaiType = {
- BEN_JIN_HU = 0x0001, -- 本金胡
- JIE_BEN_JIN_HU = 0x0002, -- 接本金胡
- }
-
- -- 胡牌子类型字段
- yibinmajiangDefine.MJGameSubHuStr = {
- [yibinmajiangDefine.MJGameSubPaiType.BEN_JIN_HU] = "本金",
- [yibinmajiangDefine.MJGameSubPaiType.JIE_BEN_JIN_HU] = "接本金",
- }
-
- --合并字符(没用到。)
- yibinmajiangDefine.MJGameHuMargeTab = {
- {tab={"清一色","七对胡","1归"},name="清龙七对"},
- {tab={"清一色","七对胡","2归"},name="清双龙七对"},
- {tab={"清一色","七对胡","3归"},name="清三龙七对"},
- {tab={"清一色","对对胡"},name="清大对"},
- {tab={"清一色","七对胡"},name="清七对"},
- {tab={"1归","七对胡"},name="龙七对"},
- {tab={"2归","七对胡"},name="双龙七对"},
- {tab={"3归","七对胡"},name="三龙七对"},
- }
-
-
- yibinmajiangDefine.MJGameChatTxt = {
- [1] = "哎呀,咋子比乌龟还慢嘛!",
- [2] = "今天好霉,下手不要那么重嘛!",
- [3] = "快点快点,不要打酱油咯!",
- [4] = "你弹簧手是不是,快点出!",
- [5] = "你是想哭都哭不出来!",
- [6] = "你太牛了,必须点个赞!",
- [7] = "菩萨菩萨,来个卡卡!",
- [8] = "万水千山总是情,多输一点行不行!",
- [9] = "我的妈呀,不要摸啊!",
- [10] = "我的牌打的太好了!",
- }
- -- oggFile<$>mj_yibinmajiang/res/sound/f_man/f_yibinmajiang_1_text_5.ogg<$>string
- yibinmajiangDefine.MJChatTxt = {
- [1] = {txt="哎呀,咋子比乌龟还慢嘛!",oggStandard="mj_yibinmajiang/res/sound/f_%s/f_yibinmajiang_%s_text_1.ogg"},
- [2] = {txt="今天好霉,下手不要那么重嘛!",oggStandard="mj_yibinmajiang/res/sound/f_%s/f_yibinmajiang_%s_text_2.ogg"},
- [3] = {txt="快点快点,不要打酱油咯!",oggStandard="mj_yibinmajiang/res/sound/f_%s/f_yibinmajiang_%s_text_3.ogg"},
- [4] = {txt="你弹簧手是不是,快点出!",oggStandard="mj_yibinmajiang/res/sound/f_%s/f_yibinmajiang_%s_text_4.ogg"},
- [5] = {txt="你是想哭都哭不出来!",oggStandard="mj_yibinmajiang/res/sound/f_%s/f_yibinmajiang_%s_text_5.ogg"},
- [6] = {txt="你太牛了,必须点个赞!",oggStandard="mj_yibinmajiang/res/sound/f_%s/f_yibinmajiang_%s_text_6.ogg"},
- [7] = {txt="菩萨菩萨,来个卡卡!",oggStandard="mj_yibinmajiang/res/sound/f_%s/f_yibinmajiang_%s_text_7.ogg"},
- [8] = {txt="万水千山总是情,多输一点行不行!",oggStandard="mj_yibinmajiang/res/sound/f_%s/f_yibinmajiang_%s_text_8.ogg"},
- [9] = {txt="我的妈呀,不要摸啊!",oggStandard="mj_yibinmajiang/res/sound/f_%s/f_yibinmajiang_%s_text_9.ogg"},
- [10] = {txt="我的牌打的太好了!",oggStandard="mj_yibinmajiang/res/sound/f_%s/f_yibinmajiang_%s_text_10.ogg"},
- }
-
- yibinmajiangDefine.MJGroupType={
- Chi=1,
- Peng=2,
- Gang=3,
- AnGang=4,
- BaGang = 5,
- Fei = 6, -- 飞
- Ti = 7, -- 提
- }
-
- --操作值映射到实际显示麻将组类型
- yibinmajiangDefine.MJOperateToGroupType={
- [yibinmajiangDefine.MJOperateType.OPREATE_CHI]=yibinmajiangDefine.MJGroupType.Chi,
- [yibinmajiangDefine.MJOperateType.OPREATE_PENG]=yibinmajiangDefine.MJGroupType.Peng,
- [yibinmajiangDefine.MJOperateType.OPREATE_ZHIGANG]=yibinmajiangDefine.MJGroupType.Gang,
- [yibinmajiangDefine.MJOperateType.OPREATE_BAGANG]=yibinmajiangDefine.MJGroupType.BaGang,
- [yibinmajiangDefine.MJOperateType.OPREATE_GUOSHOUGANG]=yibinmajiangDefine.MJGroupType.Gang,
- [yibinmajiangDefine.MJOperateType.OPREATE_ANGANG]=yibinmajiangDefine.MJGroupType.AnGang,
- [yibinmajiangDefine.MJOperateType.OPREATE_FEI]=yibinmajiangDefine.MJGroupType.Fei,
- [yibinmajiangDefine.MJOperateType.OPREATE_TI]=yibinmajiangDefine.MJGroupType.Ti,
- }
-
- --麻将出牌换行个数
- yibinmajiangDefine.MJChangeLinCount={
- [yibinmajiangDefine.DesktopType.TwoD]={
- [2]={
- [yibinmajiangDefine.PlayerViewType.My]=22,
- [yibinmajiangDefine.PlayerViewType.Left]=10,
- [yibinmajiangDefine.PlayerViewType.Right]=10,
- [yibinmajiangDefine.PlayerViewType.Top]=22,
- },
- [3]={
- [yibinmajiangDefine.PlayerViewType.My]=11,
- [yibinmajiangDefine.PlayerViewType.Left]=11,
- [yibinmajiangDefine.PlayerViewType.Right]=11,
- [yibinmajiangDefine.PlayerViewType.Top]=11,
- },
- [4]={
- [yibinmajiangDefine.PlayerViewType.My]=11,
- [yibinmajiangDefine.PlayerViewType.Left]=11,
- [yibinmajiangDefine.PlayerViewType.Right]=11,
- [yibinmajiangDefine.PlayerViewType.Top]=11,
- },
- },
- [yibinmajiangDefine.DesktopType.ThreeD]={
- [2]={
- [yibinmajiangDefine.PlayerViewType.My]=18,
- [yibinmajiangDefine.PlayerViewType.Left]=9,
- [yibinmajiangDefine.PlayerViewType.Right]=9,
- [yibinmajiangDefine.PlayerViewType.Top]=20,
- },
- [3]={
- [yibinmajiangDefine.PlayerViewType.My]=9,
- [yibinmajiangDefine.PlayerViewType.Left]=9,
- [yibinmajiangDefine.PlayerViewType.Right]=9,
- [yibinmajiangDefine.PlayerViewType.Top]=10,
- },
- [4]={
- [yibinmajiangDefine.PlayerViewType.My]=9,
- [yibinmajiangDefine.PlayerViewType.Left]=11,
- [yibinmajiangDefine.PlayerViewType.Right]=11,
- [yibinmajiangDefine.PlayerViewType.Top]=10,
- },
- },
- [yibinmajiangDefine.DesktopType.TwoDGold]={
- [2]={
- [yibinmajiangDefine.PlayerViewType.My]=22,
- [yibinmajiangDefine.PlayerViewType.Left]=10,
- [yibinmajiangDefine.PlayerViewType.Right]=10,
- [yibinmajiangDefine.PlayerViewType.Top]=22,
- },
- [3]={
- [yibinmajiangDefine.PlayerViewType.My]=11,
- [yibinmajiangDefine.PlayerViewType.Left]=11,
- [yibinmajiangDefine.PlayerViewType.Right]=11,
- [yibinmajiangDefine.PlayerViewType.Top]=11,
- },
- [4]={
- [yibinmajiangDefine.PlayerViewType.My]=11,
- [yibinmajiangDefine.PlayerViewType.Left]=11,
- [yibinmajiangDefine.PlayerViewType.Right]=11,
- [yibinmajiangDefine.PlayerViewType.Top]=11,
- },
- },
- }
-
- yibinmajiangDefine.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 = {
- [yibinmajiangDefine.DesktopType.ThreeD] = "mj_yibinmajiang.luaScript.Views.3d.MJConfig_3d",
- [yibinmajiangDefine.DesktopType.TwoD] = "mj_yibinmajiang.luaScript.Views.2d.MJConfig_2d",
- [yibinmajiangDefine.DesktopType.TwoDGold] = "mj_yibinmajiang.luaScript.Views.2d.MJConfig_2d_gold",
- }
-
- -- 需要清理一下2D
- package.loaded['mj.luaScript.Common.2d.CommonMahjongConfig'] = nil
-
- desktopType = desktopType or app.systemSetting.info.viewType
- if not desktopType then
- desktopType = yibinmajiangDefine.DesktopType.TwoD
- end
-
- yibinmajiangDefine.MJConfig_3d = require(AllMJConfigs[yibinmajiangDefine.DesktopType.ThreeD])
- if desktopType ~= yibinmajiangDefine.DesktopType.ThreeD then
- yibinmajiangDefine.MJConfig_2d = require(AllMJConfigs[desktopType])
- else
- yibinmajiangDefine.MJConfig_2d = require(AllMJConfigs[yibinmajiangDefine.DesktopType.TwoD])
- end
- end
-
- yibinmajiangDefine.loadMJConfig = loadMJConfig
-
- -- 获得麻将的上下值
- function yibinmajiangDefine.getPrevAndNextValue(cardValue)
- if not cardValue then
- return
- end
-
- local prevValue, nextValue = nil, nil
- local p = cardValue -1
- local n = cardValue +1
-
- -- 如果要求1筒的上值不是9筒,是9万,那么需要把注释全部打开
- -- local function checkColor(colorValue)
- -- if colorValue > 2 then
- -- return 0
- -- elseif colorValue < 0 then
- -- return 2
- -- end
- -- return colorValue
- -- end
-
- -- 求上值
- local color = math.floor(p / 0x10)
- local value = math.floor(p % 0x10)
- if value < 1 then
- value = 9
- -- color = color - 1
- -- color = checkColor(color)
- end
- prevValue = color * 16 + value
-
- -- 求下值
- local color = math.floor(n / 0x10)
- local value = math.floor(n % 0x10)
- if value > 9 then
- value = 1
- -- color = color + 1
- -- color = checkColor(color)
- end
- nextValue = color * 16 + value
-
- return prevValue, nextValue
- end
-
- loadMJConfig()
-
- return yibinmajiangDefine
|