local wanfa={ fanscore={ {name="+1",value=1}, {name="+2",value=2}, {name="+5",value=5}, {name="+10",value=10}, {name="不加底",value=0}, }, highLimit={ {name="3番",value=3}, {name="4番",value=4}, {name="不封顶",value=0}, }, playnum = { {name="三人玩",value=3}, {name="四人玩",value=4}, {name="快速成局",value=-1}, }, laiziNum = { {name="癞子",value=0}, {name="癞子",value=1}, {name="癞子",value=2}, {name="癞子",value=3}, {name="癞子",value=4}, {name="癞子",value=5}, {name="癞子",value=6}, }, specialRule={ {name="过碰不碰",value=0x0002}, }, baseMulti = { {name = "积分倍数x", value = 0x0001} }, forbidProp = { {name = "屏蔽快捷语与道具", value = 1}, {name = "", value = 0, hide = true}, }, forbidVoice = { {name = "屏蔽语音", value = 1}, {name = "", value = 0, hide = true}, }, } wanfa.clubWanFaTitle={ fanscore="超番加底", highLimit = "封顶", playnum = "玩家人数", laiziNum = "癞子数量", specialRule = "玩法", baseMulti="积分倍数", forbidProp="其他", } wanfa.RuleText = { --[1] = { title = "基础规则", content = { "1、人数:3人、4人", "2、用牌:除大小王外的52张牌+X张癞子(0≤X≤6)", "3、发牌:头家8张,闲家7张,小家5张", }, }, --[2] = --[[{ title = "游戏玩法", content = { "1、基础操作:吃、碰、偷、巴、胡、报叫。", "2、癞子玩法说明:", "①癞子只能偷、巴、碰,不能吃。", "②手中有癞子不能胡,也不能胡癞子。", "③癞子碰牌、偷牌必须带一张真实牌。", } }, --[3] = { title = "胡牌结算", content = { "1、番数计算:", "天胡:3番", "地胡:2番", "报叫:+1番", "3张相同的牌:+1番,每多一张相同的牌多加一番", "2、分数计算:", "基础得分=底分×2ˆn+超番加底的分,(底分为1分,n为胡牌者总番数)", } },--]] } --获取玩法规则 function wanfa.getRuleInfo(ruleStr) --return "luzhouwanfa" if not ruleStr then ruleStr = app.room.roomInfo.strGameInfo end local tab=json.decode(ruleStr) local temp="" local tempTab = {} tempTab["fanscore"] = tab.fanscore or 0 tempTab["highLimit"] = tab.highLimit or 3 tempTab["baseMulti"] = tab.baseMulti or 1 tempTab["laiziNum"] = tab.laiziNum or 0 tempTab["playnum"] = tab.playnum or 0 tempTab["specialRule"] = tab.specialRule or 0 for k,v in pairs(tempTab) do if wanfa[k] then if k == "specialRule" then for _,data in pairs(wanfa[k]) do if not data.hide then if getNumBand(v,data.value) > 0 then if (tempTab.playnum == 2 or tempTab.playnum == 3) and data.value == 32 then--固定2人3人时不显示小家可看牌 else temp=temp..data.name.." " end end end end elseif k == "fanscore" then for _,data in pairs(wanfa[k]) do if v==data.value then temp=temp.."超番"..data.name.." " end end elseif k == "baseMulti" then temp=temp..wanfa.baseMulti[1].name..v.." " elseif k == "laiziNum" then if tonumber(v) == 0 then temp=temp.."无癞子".." " else temp=temp.."癞子x"..v.." " end else for _,data in pairs(wanfa[k]) do if v==data.value and not data.hide then temp=temp..data.name.." " end end end end end return temp end --获取茶馆玩法规则 function wanfa.getClubRuleInfo(ruleStr, jushu) if not ruleStr then ruleStr = app.room.roomInfo.strGameInfo end --return "luzhouclubwanfa" local tab=json.decode(ruleStr) local temp={} if jushu then local jushuText = string.format("%d 局", jushu); table.insert(temp, 1, {name = "局数", value = {jushuText}}) end local tempTab = {} tempTab["fanscore"] = tab.fanscore or 0 tempTab["highLimit"] = tab.highLimit or 3 tempTab["baseMulti"] = tab.baseMulti or 1 tempTab["laiziNum"] = tab.laiziNum or 0 tempTab["playnum"] = tab.playnum or 0 for k,v in pairs(tab) do if wanfa[k] then if k == "specialRule" then for _,data in pairs(wanfa[k]) do if not data.hide then if getNumBand(v,data.value) > 0 then if (tempTab.playnum == 2 or tempTab.playnum == 3) and data.value == 32 then--固定2人3人时不显示小家可看牌 else table.insert(temp,{name=wanfa.clubWanFaTitle[k] or "",value={data.name}}) --只有第一行显示玩法 k = "" end end end end elseif k == "highLimit" then for _,data in pairs(wanfa[k]) do if v==data.value then if tonumber(v) ~= 0 then table.insert(temp,{name=wanfa.clubWanFaTitle[k] or "",value={data.name.."封顶"}}) else table.insert(temp,{name=wanfa.clubWanFaTitle[k] or "",value={data.name}}) end end end elseif k == "fanscore" then for _,data in pairs(wanfa[k]) do if v==data.value and not data.hide then table.insert(temp,{name=wanfa.clubWanFaTitle[k] or "",value={"超番"..data.name}}) end end elseif k == "baseMulti" then table.insert(temp,{name=wanfa.clubWanFaTitle[k] or "",value={wanfa.baseMulti[1].name .. v}}) elseif k == "laiziNum" then if tonumber(v) == 0 then table.insert(temp,{name=wanfa.clubWanFaTitle[k] or "",value={"无癞子"}}) else table.insert(temp,{name=wanfa.clubWanFaTitle[k] or "",value={"癞子x".. v}}) end else for _,data in pairs(wanfa[k]) do if v==data.value and not data.hide then table.insert(temp,{name=wanfa.clubWanFaTitle[k] or "",value={data.name}}) end end end end end return temp end function wanfa.getClubTableWanFaInfo(str) local tab=json.decode(str) local temp="" local tempTab = {} tempTab["fanscore"] = tab.fanscore or 0 tempTab["highLimit"] = tab.highLimit or 3 tempTab["baseMulti"] = tab.baseMulti or 1 --固定亲友圈桌面玩法顺序 for k,v in pairs(tempTab) do if wanfa[k] then if k ~= "playnum" then if k == "fanscore" then for _,data in pairs(wanfa[k]) do if v==data.value then temp=temp.."超番"..data.name.." " end end elseif k == "laiziNum" then elseif k == "baseMulti" then else for _,data in pairs(wanfa[k]) do if v==data.value then temp=temp..data.name.." " end end end end end end return temp end --- -- 获取包间玩法信息 -- @param gameId -- @param jushu -- @param ruleStr -- @param arena -- @return -- function wanfa.getRuleFromString (gameId, jushu, ruleStr,arena) local str = wanfa.getClubRuleInfo(ruleStr, jushu) return str end --- -- 获取包间多玩法桌子上显示的信息 -- @param gameId -- @param ruleStr -- @param playerNum -- @return -- function wanfa.getClubTableRuleString (gameId, ruleStr, playerNum) local str = "" local jsonData=json.decode(ruleStr) if jsonData.startMode == 1 then str = str .. "快速成局 " else if playerNum then str = str .. playerNum .. "人 " elseif jsonData.playnum then str = str .. jsonData.playnum .. "人 " end end local wanfaStr = wanfa.getClubTableWanFaInfo(ruleStr) str = str .. wanfaStr return str end return wanfa