|
- 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
|