local Define_53 = {} local gameConfig = getSubGameConfig(GAME_IDS.NanChongDouDiZhu) --游戏内玩法 Define_53.GAME_RULE = { ["gameid"] = gameConfig.gameName, ["gamerule"] = gameConfig.GameType, ["game_num"] = gameConfig.playerNum, ["deductRule"] = { ["0"] = "房主支付", ["1"] = "AA支付", }, ["multLimit"] = { ["3"] = "3番", ["4"] = "4番", ["0"] = "3+1", }, ["piaoType"] = { ["0"] = "不漂", ["1"] = "随漂", ["2"] = "定漂", }, ["calcFan"] = { ["1"] = "梯番", ["2"] = "滚番", }, ["playRule"] = { ["1"] = "癞子", ["2"] = "闷抓", ["4"] = "双王四个二必倒", ["3"] = "癞子 闷抓", ["5"] = "癞子 双王四个二必倒", ["6"] = "闷抓 双王四个二必倒", ["7"] = "癞子 闷抓 双王四个二必倒", }, ["baseMulti"] = { ["1"] = "积分倍数x" }, ["forbidProp"] = { ["1"] = "屏蔽快捷语与道具" }, ["forbidVoice"] = { ["1"] = "屏蔽语音" } } -- 斗地主规则文本 Define_53.ruleText = { --[1] = { title = "基础规则", content = { "1、一副扑克54张牌+一张花牌赖子=55张,一人17张,留4张做底牌,在确定地主之前玩家不能查看底牌。", "2、叫地主:首先由第一个进入房间玩家位置开始翻牌,翻的牌需要展示一下,后面则由上局赢牌位置随机翻牌。", "3、倒牌:叫地主后,农民玩家可以“倒”或者是“不倒”,“倒牌”后,该局输赢翻倍,选择“不倒”的玩家,输赢不翻倍。", "4、拉牌:在有玩家“倒”的情况下,地主才可以选择“拉”,地主“拉”后,输赢在“倒”的基础上再翻倍。每局玩家只有一次“倒”和“拉”的机会。", "5、游戏结束:有玩家先出完牌则游戏结束,地主先出完则地主赢,农民先出完则农名赢。", }, }, -- { -- title = "特殊规则", -- content = -- { -- "1、三主必抓规则(三个2除外):", -- "单癞子的情况下手牌分值达到3主必须叫地主(分值计算:王算1个主,不分大小,2算1个主,癞子算1个主,原始炸弹算1个主)。", -- "无癞子的情况下三主必须叫地主。", -- "双王或者是四个二必抓。", -- } -- }, --[2] = --[[{ title = "牌型介绍", content = { "1、单牌:任意一张单牌。", "2、对牌:数值相同的两张牌。", "3、三张牌:数值相同的三张牌。例: JJJ,最后一手可出。", "4、三带一:数值相同的三张牌+ 一张单牌(没有三带二)。 例: 333+6。", "5、单顺:五张或更多的连续单牌。不包括2点和双王。例: 34567。", "6、连对:三対或更多的達姨対牌。不包括2点和双王。例: 334455。", "7、飞机:二个或更多的连续同点数的三張牌。不包括2点和双王。", "8、飞机帯翅膀:飞机+同数量的单牌。例: 333444+88 。", "9、四帯二:四张先生共同的牌带两张牌,可以是单张也可以是一对,只能最后一手出。例: 5555 +3+ 8", "10、火箭:即双王(双鬼牌),什么牌型都可打,是最大的牌,出牌时也算作炸弹。", "12、炸弹:由四张相同点数的牌组成的牌型,大于其他的一切牌型。例: 6666。", "13、软炸弹:由癞子和其他牌组成的炸弹大于炸弹以外的所有牌型。", } }, --[3] = { title = "牌型比较", content = { "1、火箭最大,可以打任意其他的牌。", "2、炸弹比火箭小,软炸弹(由赖子和其他的牌组成的炸弹牌型)比炸弹小,比其他牌大。", "3、都是炸弹时按牌的分值比大小。", "4、单牌按分值比大小依次是:", " 大王>小王>2>A>K>Q>J>10>9>8>7>6>5>4>3,不分花色。 ", "5、对牌、三张牌都按分值比大小。", "6、单顺按最大的一张牌的分值来比大小。 ", "7、飞机带翅膀和四带二按其中的飞机和四张部分来比,带的牌不影响大小。", } }, --[5] = { title = "算分规则", content = { "1、闷抓:1番", "2、倒(闷倒):1番", "3、拉:1番", "4、炸弹: 1番", "5、春天: 1番", "6、反春天: 1番", "7、尾家叫地主: 1番", "8、滚番:积分=(底分1分+漂分)*2的N次方(N为番数)", "9、梯番:积分=(底分1分+漂分)+N(N为番数)", "10、漂分:漂分为1", } },--]] } --俱乐部切换多玩法桌子显示的玩法 8倍 经典/不洗牌 飘分 function Define_53.getClubTableWanFaInfo(str) local tab=json.decode(str) local temp="" if tab.gamerule and tonumber(tab.gamerule) >= 0 then temp = temp .. Define_53.GAME_RULE.game_num[tab.gamerule] .. '人 ' end if tab.multLimit and tonumber(tab.multLimit) >= 0 then local multLimit = tab.multLimit if Define_53.GAME_RULE['multLimit'][''..multLimit] then temp = temp .. Define_53.GAME_RULE['multLimit'][''..multLimit] .. ' ' end end if tab.piaoType and tonumber(tab.piaoType) >= 0 then local piaoType = tab.piaoType if Define_53.GAME_RULE['piaoType'][''..piaoType] then temp = temp .. Define_53.GAME_RULE['piaoType'][''..piaoType] .. ' ' end end if tab.calcFan and tonumber(tab.calcFan) >= 0 then local calcFan = tab.calcFan if Define_53.GAME_RULE['calcFan'][''..calcFan] then temp = temp .. Define_53.GAME_RULE['calcFan'][''..calcFan] .. ' ' end end return temp end function Define_53.getRuleFromString(gameId, jushu, ruleStr) local jsonData = json.decode(ruleStr) local tt = {} if jushu then local jushuText = string.format("%d 局",jushu); table.insert(tt, {name = "局数", value = {jushuText}}) end if jsonData.multLimit and jsonData.multLimit >= 0 then local specStr = Define_53.GAME_RULE.multLimit["" .. jsonData.multLimit] or "" if specStr ~= "" then table.insert(tt, {name = "封顶", value = {specStr}}) end end if jsonData.piaoType and jsonData.piaoType >= 0 then local specStr = Define_53.GAME_RULE.piaoType["" .. jsonData.piaoType] or "" if specStr ~= "" then table.insert(tt, {name = "漂分", value = {specStr}}) end end if jsonData.calcFan and jsonData.calcFan >= 0 then local specStr = Define_53.GAME_RULE.calcFan["" .. jsonData.calcFan] or "" if specStr ~= "" then table.insert(tt, {name = "算番", value = {specStr}}) end end if jsonData.playRule and jsonData.playRule >= 0 then local specStr = Define_53.GAME_RULE.playRule["" .. jsonData.playRule] or "" if specStr ~= "" then table.insert(tt, {name = "玩法", value = {specStr}}) end end if jsonData.baseMulti and jsonData.baseMulti > 0 then table.insert(tt, {name = '积分倍数', value = {Define_53.GAME_RULE.baseMulti["1"] .. jsonData.baseMulti}}) end if jsonData.forbidProp and jsonData.forbidProp > 0 then table.insert(tt, {name = '其他', value = {Define_53.GAME_RULE.forbidProp["1"]}}) end return tt end function Define_53.getClubTableRuleString(gameId, ruleStr, playerNum) local str = "" str = str..Define_53.getClubTableWanFaInfo(ruleStr) return str end return Define_53