|
- local PdkRoomViewConfig = {}
- local gameConfig = getSubGameConfig(GAME_IDS.PaoDeKuai)
-
- local PDKDefine = require("luaScript.SubGameDefine.Poker.pdkWanFa")
- local winSize = cc.Director:getInstance():getWinSize()
- local designSize = cc.p(1280,720)
- -- 玩家节点位置
- PdkRoomViewConfig.PLAYER_POS = {
- [0] = {
- -- cc.p(62, 111),
- -- cc.p(62, 481),
- -- cc.p(1224, 481),--x-机器人牌位置
- cc.p((62)/designSize.x * winSize.width, 111/designSize.y * winSize.height),
- cc.p((1224-25)/designSize.x * winSize.width, 481/designSize.y * winSize.height),
- cc.p((62+25)/designSize.x * winSize.width, 481/designSize.y * winSize.height),
- },
- [1] = {
- cc.p((62)/designSize.x * winSize.width, 111/designSize.y * winSize.height),
- cc.p((1224-25)/designSize.x * winSize.width, 481/designSize.y * winSize.height),
- cc.p((62+25)/designSize.x * winSize.width, 481/designSize.y * winSize.height),
- },
- }
-
- --root cardRoot手牌开始位置
- PdkRoomViewConfig.CARD_POS = {
- [0] = {
- cc.p(62/designSize.x * winSize.width, 111),
- cc.p(1134/designSize.x * winSize.width, 596/designSize.y * winSize.height),
- },
- [1] = {
- cc.p(62/designSize.x * winSize.width, 111),
- cc.p(1134/designSize.x * winSize.width, 596/designSize.y * winSize.height),
- cc.p(152/designSize.x * winSize.width, 596/designSize.y * winSize.height),
- },
- }
- -- 出牌显示位置
- PdkRoomViewConfig.SHOW_CARD_POS = {
- [0] = {
- cc.p(200/designSize.x * winSize.width, 110/designSize.y * winSize.height),
- cc.p(980/designSize.x * winSize.width, 481/designSize.y * winSize.height),
- },
- [1] = {
- cc.p(200/designSize.x * winSize.width, 110/designSize.y * winSize.height),
- cc.p(1095/designSize.x * winSize.width, 481/designSize.y * winSize.height),
- cc.p(200/designSize.x * winSize.width, 481/designSize.y * winSize.height),
- },
- }
-
- PdkRoomViewConfig.NEW_SHOW_CARD_POS = {
- [0] = {
- cc.p(640/designSize.x * winSize.width, 330/designSize.y * winSize.height),
- cc.p(-130/designSize.x * winSize.width, 0/designSize.y * winSize.height),
- },
- [1] = {
- cc.p(640/designSize.x * winSize.width, 330/designSize.y * winSize.height),
- cc.p(-130/designSize.x * winSize.width, 0/designSize.y * winSize.height),
- cc.p(230/designSize.x * winSize.width, 0/designSize.y * winSize.height),
- },
- }
-
- PdkRoomViewConfig.PASS_SHOW_POS = {
- [0] = {
- cc.p(580/designSize.x * winSize.width, 200/designSize.y * winSize.height),
- cc.p(-160/designSize.x * winSize.width, 0/designSize.y * winSize.height),
- },
- [1] = {
- cc.p(580/designSize.x * winSize.width, 200/designSize.y * winSize.height),
- cc.p(-160/designSize.x * winSize.width, 0/designSize.y * winSize.height),
- cc.p(170/designSize.x * winSize.width, 0/designSize.y * winSize.height),
- },
- }
-
- -- 牌缩放
- PdkRoomViewConfig.CARD_SCALE = {
- [1] = 1,
- [2] = 0.6,
- [3] = 0.6,
- }
- -- 发牌时的起始缩放
- PdkRoomViewConfig.CARD_SCALE_START = 0.5
- -- 牌间距
- PdkRoomViewConfig.CARD_DLT_WIDTH = 60
-
- -- 发牌开始位置
- PdkRoomViewConfig.CARD_START_POS = cc.p(640/designSize.x * winSize.width, 340/designSize.y * winSize.height)
-
- -- 牌的正常位置高度
- PdkRoomViewConfig.NORMAL_HEIGHT = 111
-
- -- 牌选择时的高度
- PdkRoomViewConfig.SELECTED_HEIGHT = 111+40
-
- -- 卡牌高度
- PdkRoomViewConfig.CARD_HEIGHT = 231
- PdkRoomViewConfig.CARD_WIDTH = 163
-
- --[[
-
- ]]
- -- 牌型显示类型
- PdkRoomViewConfig.EffectType = {
- PASS = 0,--要不起
- SINGLE_CARD = 1, --//单牌
- DUI_ZI = 2, --//对子
- THREE_AND_TWO = 3, --//三带二
- SHUN_ZI = 4, --//顺子
- LIAN_DUI = 5, --//连对(至少3连对)
- AIRPLANE = 6, --//飞机
- FOUR_AND_THREE = 7, --//四带三
- BOMB = 8, --//炸弹
- FOUR_AND_ONE = 9, --//四带一
- THREE_AND_ONE = 10, --三带一
- THREE = 11, --三个
- FOUR_AND_TWO = 12, --四带二
- SPRING_HUA = 99, -- 春天花
- NONE = 100, --不适用类型
- }
-
- -- 游戏桌子状态
- PdkRoomViewConfig.GameStatus = {
- GAME_STATE_INIT =0, --//游戏准备状态
- GAME_STATE_SEND_HAND_CARD =1, --//发牌
- GAME_STATE_OUT_CARD =2, --//打牌
- GAME_STATE_ROUND_OVER =3, --//游戏一局结束
- GAME_STATE_GAME_OVER =4, --//游戏结束
- }
-
- -- 创建房间参数
- PdkRoomViewConfig.CreateParams = {
- 0x0001, --红桃10扎鸟
- 0x0002, --可4带3
- 0x0004, --炸弹可拆
- 0x0008, --3张,飞机少带接完
- 0x0010, --首局先出黑桃三
- 0x0020, --显示牌的张数
- 0x0040, --第一手牌必须包含最小牌
- 0x0200, -- '3必带2',
- 0x0400, -- '可4带2',
- 0x0800, -- '反春天',
- }
-
- PdkRoomViewConfig.CreateParamsMean = PDKDefine.CreateParamsMean
-
- PdkRoomViewConfig.RoonInfoConfig = {
- play = PDKDefine.GameTypesStr,
- num = PDKDefine.GamePlayerCount,
- wanfa = PDKDefine.GameWanfa,
- bombScore = PDKDefine.BombScore,
- }
-
- PdkRoomViewConfig.InviteConfig = {
- [2] = {
- [1] = "一缺一",
- [2] = "",
- },
- [3] = {
- [1] = "一缺二",
- [2] = "二缺一",
- [3] = "",
- }
- }
- --[[
- print("------------rule--------", getNumBand(rule, 0x0001))
- print("------------rule--------", getNumBand(rule, 0x0002))
- print("------------rule--------", getNumBand(rule, 0x0004))
- print("------------rule--------", getNumBand(rule, 0x0008))
- print("------------rule--------", getNumBand(rule, 0x0010))
- print("------------rule--------", getNumBand(rule, 0x0020))
- print("------------rule--------", getNumBand(rule, 0x0040))
- ]]
-
- PdkRoomViewConfig.PayConfig = {
- [0] = "房主付费",
- [1] = "AA支付"
- }
-
- function PdkRoomViewConfig.getPayInfo( gameInfo )
- local data = json.decode(gameInfo)
- if data == nil then
- return ""
- end
- return PdkRoomViewConfig.PayConfig[tonumber(data.deductRule)]
- end
-
- function PdkRoomViewConfig.getRoundCount( gameInfo )
- local data = json.decode(gameInfo)
- if data == nil then
- return ""
- end
- return PdkRoomViewConfig.RoonInfoConfig.num[tonumber(data.playerNum)]
- end
-
- function PdkRoomViewConfig.getWanfa( gameInfo )
- local data = json.decode(gameInfo)
- if data == nil then
- return ""
- end
- return PdkRoomViewConfig.RoonInfoConfig.wanfa[tonumber(data.allowPass)]
- end
-
- --[[获取房间详情字符串--]]
- function PdkRoomViewConfig.getRuleString(gameInfo)
- -- local gameInfo = app.room:getRoomInfo().nGameInfo
- local data = json.decode(gameInfo)
- if data == nil then
- return ""
- end
- local rule = tonumber(data.specialRule)
- local ruleStr = ""
- ruleStr = ruleStr..PdkRoomViewConfig.RoonInfoConfig.play[tonumber(data.gamerule)]..","
- ruleStr = ruleStr..PdkRoomViewConfig.RoonInfoConfig.num[tonumber(data.playerNum)]..","
- ruleStr = ruleStr..(PdkRoomViewConfig.RoonInfoConfig.bombScore[tonumber(data.bombScore)] or "")..","
- if data.allowPass and data.allowPass >= 0 then
- ruleStr = ruleStr..PdkRoomViewConfig.RoonInfoConfig.wanfa[tonumber(data.allowPass)]..","
- end
-
- if data.baseMulti and data.baseMulti > 0 then
- ruleStr = ruleStr .. "积分倍数x" .. data.baseMulti .. ","
- end
-
- if getNumBand(rule, 0x0001)>0 then
- ruleStr = ruleStr..PdkRoomViewConfig.CreateParamsMean[0x0001]..","
- end
- if getNumBand(rule, 0x0002)>0 then
- ruleStr = ruleStr..PdkRoomViewConfig.CreateParamsMean[0x0002]..","
- end
- if getNumBand(rule, 0x0004)>0 then
- ruleStr = ruleStr..PdkRoomViewConfig.CreateParamsMean[0x0004]..","
- end
- -- if getNumBand(rule, 0x0008)>0 then
- -- ruleStr = ruleStr..PdkRoomViewConfig.CreateParamsMean[0x0008]..","
- -- end
- if getNumBand(rule, 0x0010)>0 then
- ruleStr = ruleStr..PdkRoomViewConfig.CreateParamsMean[0x0010]..","
- end
- if getNumBand(rule, 0x0020)>0 then
- ruleStr = ruleStr..PdkRoomViewConfig.CreateParamsMean[0x0020]..","
- end
- if getNumBand(rule, 0x0040)>0 then
- ruleStr = ruleStr..PdkRoomViewConfig.CreateParamsMean[0x0040]..","
- end
- if getNumBand(rule, 0x0080)>0 then
- ruleStr = ruleStr..PdkRoomViewConfig.CreateParamsMean[0x0080]..","
- end
- if getNumBand(rule, 0x0200)>0 then
- ruleStr = ruleStr..PdkRoomViewConfig.CreateParamsMean[0x0200]..","
- end
- if getNumBand(rule, 0x0400)>0 then
- ruleStr = ruleStr..PdkRoomViewConfig.CreateParamsMean[0x0400]..","
- end
- if getNumBand(rule, 0x0800)>0 then
- ruleStr = ruleStr..PdkRoomViewConfig.CreateParamsMean[0x0800]..","
- end
- if string.len(ruleStr) > 0 then
- ruleStr = string.sub(ruleStr, 1, string.len(ruleStr)-1)
- end
- return ruleStr
- end
-
- function PdkRoomViewConfig.getRuleString2(gameInfo)
- -- local gameInfo = app.room:getRoomInfo().nGameInfo
- local data = json.decode(gameInfo)
- if data == nil then
- return ""
- end
- local rule = tonumber(data.specialRule)
- local ruleStr = ""
- if getNumBand(rule, 0x0001)>0 then
- ruleStr = ruleStr..PdkRoomViewConfig.CreateParamsMean[0x0001].. "、"
- end
- if getNumBand(rule, 0x0002)>0 then
- ruleStr = ruleStr..PdkRoomViewConfig.CreateParamsMean[0x0002].. "、"
- end
- if getNumBand(rule, 0x0004)>0 then
- ruleStr = ruleStr..PdkRoomViewConfig.CreateParamsMean[0x0004].. "、"
- end
- -- if getNumBand(rule, 0x0008)>0 then
- -- ruleStr = ruleStr..PdkRoomViewConfig.CreateParamsMean[0x0008]..","
- -- end
- if getNumBand(rule, 0x0010)>0 then
- ruleStr = ruleStr..PdkRoomViewConfig.CreateParamsMean[0x0010].. "、"
- end
- if getNumBand(rule, 0x0020)>0 then
- ruleStr = ruleStr..PdkRoomViewConfig.CreateParamsMean[0x0020].. "、"
- end
- if getNumBand(rule, 0x0040)>0 then
- ruleStr = ruleStr..PdkRoomViewConfig.CreateParamsMean[0x0040].. "、"
- end
- if getNumBand(rule, 0x0080)>0 then
- ruleStr = ruleStr..PdkRoomViewConfig.CreateParamsMean[0x0080].. "、"
- end
- if getNumBand(rule, 0x0200)>0 then
- ruleStr = ruleStr..PdkRoomViewConfig.CreateParamsMean[0x0200].. "、"
- end
- if getNumBand(rule, 0x0400)>0 then
- ruleStr = ruleStr..PdkRoomViewConfig.CreateParamsMean[0x0400].. "、"
- end
- if getNumBand(rule, 0x0800)>0 then
- ruleStr = ruleStr..PdkRoomViewConfig.CreateParamsMean[0x0800]
- end
- if data.baseMulti and data.baseMulti > 0 then
- ruleStr = ruleStr .. "积分倍数x" .. data.baseMulti .. "、"
- end
- return ruleStr
- end
-
- function PdkRoomViewConfig.getWanfaTab(strGameInfo)
- local data = json.decode(strGameInfo)
- local rule = tonumber(data.specialRule)
- local rules = {}
- table.insert(rules,PdkRoomViewConfig.getPayInfo(strGameInfo))
- table.insert(rules,PdkRoomViewConfig.getRoundCount(strGameInfo))
- table.insert(rules,PdkRoomViewConfig.RoonInfoConfig.wanfa[tonumber(data.allowPass)])
- table.insert(rules,(PdkRoomViewConfig.RoonInfoConfig.bombScore[tonumber(data.bombScore)] or ""))
- if data.baseMulti and data.baseMulti > 0 then
- table.insert(rules, "积分倍数x" .. data.baseMulti)
- end
-
- if data.forbidProp and data.forbidProp > 0 then
- table.insert(rules, "屏蔽快捷语与道具")
- end
- if data.forbidVoice and data.forbidVoice > 0 then
- table.insert(rules, "屏蔽语音")
- end
-
- if getNumBand(rule, 0x0001)>0 then
- table.insert(rules,PdkRoomViewConfig.CreateParamsMean[0x0001])
- -- ruleStr = ruleStr..PdkRoomViewConfig.CreateParamsMean[0x0001].. "、"
- end
- if getNumBand(rule, 0x0002)>0 then
- table.insert(rules,PdkRoomViewConfig.CreateParamsMean[0x0002])
- -- ruleStr = ruleStr..PdkRoomViewConfig.CreateParamsMean[0x0002].. "、"
- end
- if getNumBand(rule, 0x0004)>0 then
- table.insert(rules,PdkRoomViewConfig.CreateParamsMean[0x0004])
- -- ruleStr = ruleStr..PdkRoomViewConfig.CreateParamsMean[0x0004].. "、"
- end
- -- if getNumBand(rule, 0x0008)>0 then
- -- ruleStr = ruleStr..PdkRoomViewConfig.CreateParamsMean[0x0008]..","
- -- end
- if getNumBand(rule, 0x0010)>0 then
- table.insert(rules,PdkRoomViewConfig.CreateParamsMean[0x0010])
- -- ruleStr = ruleStr..PdkRoomViewConfig.CreateParamsMean[0x0010].. "、"
- end
- if getNumBand(rule, 0x0020)>0 then
- table.insert(rules,PdkRoomViewConfig.CreateParamsMean[0x0020])
- -- ruleStr = ruleStr..PdkRoomViewConfig.CreateParamsMean[0x0020].. "、"
- end
- if getNumBand(rule, 0x0040)>0 then
- table.insert(rules,PdkRoomViewConfig.CreateParamsMean[0x0040])
- -- ruleStr = ruleStr..PdkRoomViewConfig.CreateParamsMean[0x0040].. "、"
- end
- if getNumBand(rule, 0x0080)>0 then
- table.insert(rules,PdkRoomViewConfig.CreateParamsMean[0x0080])
- -- ruleStr = ruleStr..PdkRoomViewConfig.CreateParamsMean[0x0080]
- end
- if getNumBand(rule, 0x0200)>0 then
- table.insert(rules,PdkRoomViewConfig.CreateParamsMean[0x0200])
- end
- if getNumBand(rule, 0x0400)>0 then
- table.insert(rules,PdkRoomViewConfig.CreateParamsMean[0x0400])
- end
- if getNumBand(rule, 0x0800)>0 then
- table.insert(rules,PdkRoomViewConfig.CreateParamsMean[0x0800])
- end
- return rules
- end
-
- function PdkRoomViewConfig.getSimpleInviteStr(gameId, roomInfo)
- local data = json.decode(roomInfo.nGameInfo or "")
- if data == nil then
- return ""
- end
-
- local gamerule = data.gamerule -- 玩法
- local roundCount = roomInfo.nTotalGameNum -- 局数
- local gameConfig = getSubGameConfig(gameId)
- local gameType = gameConfig.GameType or {}
- local content = string.format("%s局 %s", roundCount, gameType[gamerule] or gameConfig.gameName)
- return content
- end
-
- return PdkRoomViewConfig
|