CN109876425A - 麻将游戏的控制方法、装置及设备 - Google Patents

麻将游戏的控制方法、装置及设备 Download PDF

Info

Publication number
CN109876425A
CN109876425A CN201910264280.XA CN201910264280A CN109876425A CN 109876425 A CN109876425 A CN 109876425A CN 201910264280 A CN201910264280 A CN 201910264280A CN 109876425 A CN109876425 A CN 109876425A
Authority
CN
China
Prior art keywords
board
hands
omnipotent
equal
split
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201910264280.XA
Other languages
English (en)
Inventor
俞愈
黄文杰
芦少军
孙明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Netease Hangzhou Network Co Ltd
Original Assignee
Netease Hangzhou Network Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Netease Hangzhou Network Co Ltd filed Critical Netease Hangzhou Network Co Ltd
Priority to CN201910264280.XA priority Critical patent/CN109876425A/zh
Publication of CN109876425A publication Critical patent/CN109876425A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Pinball Game Machines (AREA)

Abstract

本发明提供一种麻将游戏的控制方法、装置及设备,通过获取游戏界面中玩家的手牌总数,确定手牌总数对3取余等于2时,判断当前手牌是否存在万能牌,若存在,对手牌中非万能牌依次作将,对剩余手牌中的非万能牌按照第一预设流程进行拆分,确定胡牌所需的万能牌的数量,若所需万能牌的数量小于等于当前手牌中万能牌的数量,发送胡牌提示信息;若不存在,确定手牌有且仅有一个花色的牌数等于3n+2,其他花色的牌数均等于3n时,其中n为自然数,从牌数等于3n+2花色的牌中,依次选取相同牌面的牌数大于等于2的牌作将,对剩余手牌按照第二预设流程进行拆分,若拆分为固定组合形式则发送胡牌提示信息。上述方案降低了设备的计算消耗。

Description

麻将游戏的控制方法、装置及设备
技术领域
本发明涉及电子竞技技术领域,尤其涉及一种麻将游戏的控制方法、装置及设备。
背景技术
在麻将类游戏中,游戏服务平台存储有不同地区麻将游戏的胡牌规则及数据,为玩家提供多种麻将玩法,玩家在游戏过程中通过点击操作选择出牌牌面,服务平台根据玩家的当前牌面判断是否可以胡牌。
麻将根据是否存在癞子牌(即万能牌)分为癞子麻将和非癞子麻将,相应的胡牌规则有所不同。以癞子麻将为例,目前现有的麻将游戏的控制方法是基于递归和回溯的选将拆分法,服务平台获取玩家选好的将牌后,对剩余手牌考虑3n的情况,按照手牌花色递归的去遍历,分别按照顺子、刻子去拆分确定需要多少个癞子,最后所有情况都遍历完之后确定玩家胡牌需要癞子的最小个数,若判断当前癞子个数大于等于该最小个数即可判胡。
上述方案属于暴力搜索方法,若在游戏测试或游戏实际运行时使用该方法判胡,服务平台的计算量大,比较耗时,单服务器的承载能力不足。
发明内容
本发明实施例提供一种麻将游戏的控制方法、装置及设备,降低了设备的计算消耗。
本发明的第一方面提供一种麻将游戏的控制方法,包括:
获取游戏界面中玩家的手牌总数,判断所述手牌总数对3取余是否等于2,若所述手牌总数对3取余等于2,则判断当前手牌是否存在万能牌;
若存在万能牌,对手牌中的非万能牌依次作将,对剩余手牌中的非万能牌按照第一预设流程进行拆分,确定除去选定的将牌之外的其余非万能牌胡牌所需的万能牌的数量,若所需的万能牌的数量小于等于当前手牌中万能牌的数量,则发送胡牌提示信息;
若不存在万能牌,判断手牌中是否存在有且仅有一个花色的牌数等于3n+2,且其他花色的牌数均等于3n的情况,其中n为自然数;
若存在所述情况,从牌数等于3n+2花色的牌中,依次选取相同牌面的牌数大于等于2的牌作将,对剩余手牌按照第二预设流程进行拆分,若拆分后的剩余手牌为固定组合形式,则发送胡牌提示信息;其中所述相同牌面为花色和花色数量均相同的牌面。
在一种可能的实现方式中,所述固定组合形式包括顺子组合形式和刻子组合形式。
在一种可能的实现方式中,所述剩余手牌包括数牌,所述数牌包括万,筒,条花色的牌;所述对剩余手牌中的非万能牌按照第一预设流程进行拆分,包括:
获取所述数量不同牌面的数量;
若所述数牌的数量为1,则按照顺子组合形式拆分;
若所述数牌的数量为2,获取与所述数牌相连的下一张手牌以及下下一张手牌的数量,查询预设拆分规则表,确定按照顺子组合形式拆分或按照刻子组合形式拆分;
若所述数牌的数量大于等于3,则按照刻子组合形式拆分。
在一种可能的实现方式中,所述剩余手牌包括风牌;所述对剩余手牌中的非万能牌按照第一预设流程进行拆分,包括:
将所述风牌按照同种牌面的个数升序排序处理;
若确定排序后的前两种牌面的数量总和等于第三种牌面的数量,且,等于第四种牌面的数量,则对所述风牌按照顺子组合形式拆分。
在一种可能的实现方式中,若确定顺序后的前两种牌面的数量总和不等于第三种牌面的数量,和/或,不等于第四种牌面的数量,还包括:
若所述风牌的数量为1,则按照顺子组合形式拆分;
若所述风牌的数量为2,获取与所述待拆分手牌相连的下一张手牌以及下下一张手牌的数量,查询预设拆分规则表,确定按照顺子组合形式拆分或按照刻子组合形式拆分;
若所述风牌的数量大于等于3,则按照刻子组合形式拆分。
在一种可能的实现方式中,所述剩余手牌包括箭牌;所述对剩余手牌中的非万能牌按照第一预设流程进行拆分,包括:
获取所述箭牌不同牌面的数量;
若所述箭牌的数量为1,则按照顺子组合形式拆分;
若所述箭牌的数量为2,获取与所述待拆分手牌相连的下一张手牌以及下下一张手牌的数量,查询预设拆分规则表,确定按照顺子组合形式拆分或按照刻子组合形式拆分;
若所述箭牌的数量大于等于3,则按照刻子组合形式拆分。
在一种可能的实现方式中,若确定所述手牌总数对3取余不等于2,所述方法还包括:
发送当前手牌处于非胡牌状态的提示信息。
本发明的第二方面提供一种麻将游戏的控制装置,包括:
获取模块,用于获取游戏界面中玩家的手牌总数,判断模块,用于判断所述手牌总数对3取余是否等于2,若所述手牌总数对3取余等于2,则所述判断模块还用于判断当前手牌是否存在万能牌;
若存在万能牌,对手牌中的非万能牌依次作将,拆分模块,用于对剩余手牌中的非万能牌按照第一预设流程进行拆分,确定模块,用于确定除去选定的将牌之外的其余非万能牌胡牌所需的万能牌的数量,若所需的万能牌的数量小于等于当前手牌中万能牌的数量,则发送模块,用于发送胡牌提示信息;
若不存在万能牌,所述判断模块,还用于判断手牌中是否存在有且仅有一个花色的牌数等于3n+2,且其他花色的牌数均等于3n的情况,其中n为自然数;
若存在所述情况,所述拆分模块,还用于从牌数等于3n+2花色的牌中,依次选取相同牌面的牌数大于等于2的牌作将,对剩余手牌按照第二预设流程进行拆分,若拆分后的剩余手牌为固定组合形式,则所述发送模块,用于发送胡牌提示信息;其中所述相同牌面为花色和花色数量均相同的牌面。
本发明的第三方面提供一种电子设备,包括:
存储器;
处理器;以及
计算机程序;
其中,所述计算机程序存储在所述存储器中,并被配置为由所述处理器执行以实现如本发明第一方面任一项所述的方法。
本发明第四方面提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行以实现如本发明第一方面任一项所述的方法。
本发明提供一种麻将游戏的控制方法、装置及设备,通过获取游戏界面中玩家的手牌总数,确定手牌总数对3取余等于2时,判断当前手牌是否存在万能牌,若存在万能牌,对手牌中非万能牌依次作将,对剩余手牌中的非万能牌按照第一预设流程进行拆分,确定胡牌所需的万能牌的数量,若所需万能牌的数量小于等于当前手牌中万能牌的数量,发送胡牌提示信息;若不存在万能牌,确定手牌有且仅有一个花色的牌数等于3n+2,其他花色的牌数均等于3n时,其中n为自然数,从牌数等于3n+2花色的牌中,依次选取相同牌面的牌数大于等于2的牌作将,对剩余手牌按照第二预设流程进行拆分,若拆分为固定组合形式则发送胡牌提示信息。上述方案降低了设备的计算消耗,释放了设备的内存空间,提高了判胡效率。
附图说明
图1为本发明实施例提供的麻将游戏的控制方法的流程示意图;
图2为本发明实施例提供的数牌拆分的流程示意图;
图3为本发明实施例提供的风牌拆分的流程示意图;
图4为本发明实施例提供的箭牌拆分的流程示意图;
图5为本发明实施例提供的麻将游戏的控制装置的结构示意图;
图6为本发明实施例提供的电子设备的硬件结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在目前的智能终端的麻将游戏应用软件上,终端或游戏服务器通常采用基于递归和回溯的选将拆分法,对用户当前手牌中的每门花色按照牌值依序遍历,若存在万能牌,则对当前牌分别按照顺子、刻子组合方式进行拆分,确定需要的万能牌的数量,按照上述方法递归继续处理下一张手牌,最后将所有情况都遍历完之后,进行胡牌判定。然而,现有的终端或游戏服务器采用的判胡方案属于暴力搜索,计算量较大且比较耗时,递归方式对终端或游戏服务器的内存空间消耗较大,用户在游戏过程中,对于当前手牌中的每一张手牌均需要计算和判定,因此该方案将导致终端或游戏服务器承载能力严重下降。
针对上述存在的问题,本发明实施例提供一种麻将游戏的控制方法,该控制方法通过统计当前手牌中各花色手牌以及万能牌的数量,按照固定组合形式和预设流程对除去万能牌和将牌的剩余手牌依次遍历拆分,释放了终端或游戏服务器的部分内存空间,降低了终端或游戏服务器的计算消耗,也提升了用户的游戏体验。
该方案可应用在可以进行麻将游戏的各类电子设备中,包括平板电脑,智能手机,智能游戏机等安装了游戏客户端的终端,也可以是游戏软件/客户端的后台服务器等,对此本方案不做具体限制。
下面采用几个具体实施例对本发明提供的麻将游戏的控制方法进行详细说明。
为了便于理解,首先对下述几个实施例涉及到的麻将用词进行简要说明。
1、手牌:玩家手中未打出的牌(不包括已碰,已杠或已吃的牌的牌);
2、万能牌:可以当作任意花色的牌,包括其本身;
3、将(对子):两张一样的牌,万能牌可以和任意花色牌组成对子;
4、顺子:三张花色相同且牌值相连的牌;
5、刻子:三张一样的牌;
6、胡牌牌型:
(3n+2)形式:玩家手中的牌取出一个对子之后,剩余的牌按照花色分类,各花色牌都可以组成n副顺子和刻子(n>=0);
七对:玩家手中的14张牌两两组成一对,共计拥有7个对子的牌型;
其他特殊牌型:十三幺、烂牌等。
本发明实施例仅涉及(3n+2)形式的胡牌牌型。
7、数牌:即万,筒,条花色牌的总称,例如1万,1筒,1条的数字牌;
8、风牌:即东风,南风,西风,北风的牌总称;
9、箭牌:即红中,发财,白板三个牌面的牌总称;
10、字牌:即风牌和箭牌的合称;
11、按序:如果没说明升序或降序,默认的都是指按照同花色牌的牌值升序处理,如对万花色按序处理指的是依次处理“万”花色的1-9万;
12、牌面:指的是一副牌中的某一种牌,如一副完整的麻将用牌有4张1万,这4个一万都属于一万这个牌面的牌。
图1为本发明实施例提供的麻将游戏的控制方法的流程示意图,如图1所示,本实施例提供的控制方法包括:
S101、获取游戏界面中玩家的手牌总数;
S102、判断手牌总数对3取余是否等于2,若手牌总数对3取余等于2,则执行S103,若手牌总数对3取余不等于2,则执行S104;
S103、判断当前手牌是否存在万能牌,若当前手牌存在万能牌,则执行S105,若当前手牌不存在万能牌,则执行S106;
S104、发送当前手牌处于非胡牌状态的提示信息;
本实施例提供的麻将游戏的控制方法是基于(3n+2)形式胡牌牌型展开的,为了避免电子设备对当前手牌不必要的计算,在本方案中,电子设备首先对玩家的手牌总数进行确认,若手牌总数对3取余不等于2,可以确定玩家手牌已处于非胡牌状态,可直接向客户端发送当前手牌处于非胡牌状态的提示信息;若手牌数量对3取余等于2,电子设备再进行后续的计算与判断过程。
需要说明的是,若玩家当前手牌中包括已杠手牌,例如4张1万,则获取的手牌总数应剔除已杠手牌的数量,例如初始手牌总数为14张,玩家杠牌后,手牌总数为15张,电子设备需要剔除4张已杠手牌,从而确定当前手牌总数为11张,由于当前手牌总数对3取余等于2,电子设备可以进行后续的计算与判断。
S105、对手牌中的非万能牌依次作将,对剩余手牌中的非万能牌按照第一预设流程进行拆分,确定除去选定的将牌之外的其余非万能牌胡牌所需的万能牌的数量,若所需的万能牌的数量小于等于当前手牌中万能牌的数量,则发送胡牌提示信息;
本步骤是对当前手牌存在万能牌的计算与判断过程。电子设备确定除去选定的将牌之外的其余非万能牌胡牌所需的万能牌的数量包括以下两种可能的情况:
一种可能的情况,确定非万能牌以刻子组合形式胡牌所需的万能牌的数量,举例来说,若当前非万能牌包括1万,其数量为1张,则1万以刻子组合形式胡牌需要的万能牌的数量为2张,若当前非万能牌1万的数量为3张,则无需万能牌进行配对。
另一种可能的情况,确定非万能牌以顺子组合形式胡牌所需的万能牌的数量,举例来说,若当前非万能牌包括5筒,其数量为1张,则5筒以顺子组合形式胡牌需要的万能牌的数量为0-2张,具体数量还需要根据与5筒组成顺子的其他非万能牌的数量来确定,如存在1张4筒,则只需要1张万能牌充当3筒或者6筒即可。
对于有万能牌的麻将游戏,在确定将牌后(所有非万能牌都可能作将),剩余非万能牌需要被拆分为固定组合形式,以尽可能多的将非万能牌被拆分为原则,按照最少万能牌和当前待拆分的非万能牌组合进行拆分。其中,固定组合形式包括顺子组合形式和刻子组合形式。
电子设备根据上述情况确定胡牌所需的万能牌的最小数量之后,判断胡牌所需万能牌的最小数量是否小于等于当前手牌中万能牌的数量,若所需万能牌的最小数量小于等于当前手牌中万能牌的数量,则向客户端发送胡牌提示信息。
下面以一副手牌中的数牌为示例,根据不同固定组合形式,对玩家手牌中非万能牌需要的万能牌数量进行列举。表1为手牌数量不为2时按照不同组合形式拆分所需万能牌数量的列表,表2为手牌数量为2时结合相邻手牌数量按照不同组合形式拆分所需万能牌数量的列表,其中表2的表头含义说明如下:
S0:当前手牌的数量;
S1:当前手牌按序的下一张麻将牌的手牌数量;
S2:当前手牌按序的下下一张麻将牌的手牌数量;
以上当前手牌指的是按照花色分类,对每门花色按照牌值顺序依次处理的当前牌。
表1
当前牌的数量 当前牌做刻子所需万能牌的数量 当前牌做顺子所需万能牌的数量
1 2 0-2
3 0 0-6
4 0-2(相当于当前牌数量为1) 0-8
表2
举例来说,表2中(S0,S1,S2)组合为(2,3,1)时,无论按照顺子移除还是按照刻子移除第一张牌,都是需要1张万能牌补充。如果按照刻子移除能使(S1,S2)为(3,1)对应牌面的牌在不借助万能牌的情况下就能移除(个数为3的牌按照刻子,个数为1的牌和后续的牌按照顺子移除);而如果按照顺子移除,则(2,3,1)按照顺子移除后组合改变为(0,1,-1),其中-1表示需要用一张万能牌补充,可见原始S1为3的那个牌还剩一张没被移除。因此基于上述分析,(S0,S1,S2)组合应按照刻子进行移除,且需要1张万能牌补充。
S106、判断手牌中是否存在有且仅有一个花色的牌数等于3n+2,且其他花色的牌数均等于3n的情况,其中n为自然数;若存在上述情况,则执行S107;若不存在情况,则执行S104;
S107、从牌数等于3n+2花色的牌中,依次选取相同牌面的牌数大于等于2的牌作将,对剩余手牌按照第二预设流程进行拆分,若拆分后的剩余手牌均为固定组合形式,则发送胡牌提示信息;其中相同牌面为花色和花色数量均相同的牌面。
上述两个步骤是对当前手牌不存在万能牌的计算与判断过程。电子设备首先判断手牌中是否存在有且仅有一个花色的牌数等于3n+2,且其他花色的牌数均等于3n的情况,也就是说,除了一对将牌之外,剩余手牌根据花色均可以被拆分为固定组合形式。由于不存在万能牌,电子设备仅需要根据各花色手牌的数量按序进行拆分即可,除将牌之外的剩余手牌均拆分为顺子组合形式或刻子组合形式,则向客户端发送胡牌提示信息。
具体来说,对剩余手牌按照牌值按序处理,分别获取待拆分手牌对应的牌的数量,记为S0:
S0>=3:如果能胡则需满足的形式为:M,M,M或M,M,M/M+1,M+1,M+1/M+2,M+2,M+2,或M,M,M,M/M+1,M+1,M+1,M+1/M+2,M+2,M+2,M+2(M为当前待拆分手牌的牌值),也就是说待拆分手牌按照刻子组合形式拆分;
S0<3:如果能胡则需满足的形式为:M,M+1,M+2或M,M,M+1,M+1,M+2,M+2(M为当前待拆分手牌的牌值),也就是说待拆分手牌按照顺子组合形式拆分。
本实施例提供的麻将游戏的控制方法,通过获取游戏界面中玩家的手牌总数,确定手牌总数对3取余等于2时,判断当前手牌是否存在万能牌,若存在万能牌,对手牌中非万能牌依次作将,对剩余手牌中的非万能牌按照第一预设流程进行拆分,确定胡牌所需的万能牌的数量,若所需万能牌的数量小于等于当前手牌中万能牌的数量,发送胡牌提示信息;若不存在万能牌,确定手牌有且仅有一个花色的牌数等于3n+2,其他花色的牌数均等于3n时,其中n为自然数,从牌数等于3n+2花色的牌中,依次选取相同牌面的牌数大于等于2的牌作将,对剩余手牌按照第二预设流程进行拆分,若拆分为固定组合形式则发送胡牌提示信息。上述方案降低了设备的计算消耗,释放了设备的内存空间,提高了判胡效率。
在上述实施例的基础上,下述实施例示出了对剩余手牌按照第一预设流程进行拆分的详细过程,针对不同花色的牌,例如数牌、字牌,对应的拆分流程有所不同,下面结合具体实例对数牌、字牌的拆分过程进行说明。
图2为本发明实施例提供的数牌拆分的流程示意图,如图2所示,本实施例提供的数牌拆分过程,包括:
S201、获取数牌不同牌面的数量;
S202、若数牌的数量为1,则按照顺子组合形式拆分;
S203、若数牌的数量为2,获取与数牌相连的下一张手牌以及下下一张手牌的数量,查询预设拆分规则表,确定按照顺子组合形式拆分或按照刻子组合形式拆分;
S204、若数牌的数量大于等于3,则按照刻子组合形式拆分。
本实施例提供的数牌拆分过程是针对去掉了万能牌的情况下,依次对剩下的手牌作将,对剩余手牌为数牌时的拆分过程。
本实施例中的数牌包括万,筒,条花色的牌。本实施中的待拆分手牌指的是按照数牌的花色分类,对每门数牌花色按照牌值顺序依次处理的当前牌。
需要说明的是,若待拆分手牌的数量为2,对应的,电子设备获取与待拆分手牌相连的下一张手牌的数量,设为S1,同时获取与待拆分手牌相连的下下一张手牌的数量,设为S2。
预设拆分规则表包括对待拆分手牌的下一张手牌以及下下一张手牌的数量对应的拆分规则,具体如下:
(1)若S1或S2为0,则按照刻子组合形式拆分;
(2)若(S1,S2)满足(1,1)(3,1)(4,1)(1,4),则按照刻子组合形式拆分;
(3)其他情况按照顺子组合形式拆分;
(4)特殊情况:待拆分手牌及后续牌的个数依次为21221或者2122211组合,则按照刻子组合形式拆分。
本实施例提供的对数牌的拆分流程,电子设备根据数牌的数量以及预设的拆分规则,对数牌按照顺子组合形式或者刻子组合形式进行拆分,上述过程降低了电子设备的计算量,提高了电子设备对数牌的拆分效率,进而提升电子设备的判胡效率。
图3为本发明实施例提供的风牌拆分的流程示意图,如图3所示,本实施提供的风牌拆分过程,包括:
本实施例提供的风牌拆分过程是针对去掉了万能牌的情况下,依次对剩下的手牌作将,对剩余手牌为风牌时的拆分过程。
S301、将风牌按照同种牌面的个数升序排序处理;
S302、若确定排序后的前两种牌面的数量总和等于第三种牌面的数量,且,等于第四种牌面的数量,则对风牌按照顺子组合形式拆分。
举例来说,当前风牌各牌面的数量分别为:东风1张,南风1张,西风2张,北风2张,东风和南风牌面的数量总和等于西风的数量,且等于北风的数量,满足风牌的上述规则,可以按照顺子组合形式拆分,也就是说,可以将东风、西风、北风看作一个顺子组合,南风、西风、北风看作一个顺子组合。
可选的,若确定顺序后的前两种牌面的数量总和不等于第三种牌面的数量,和/或,不等于第四种牌面的数量,拆分过程还包括:
若所述风牌的数量为1,则按照顺子组合形式拆分;
若所述风牌的数量为2,获取与所述待拆分手牌相连的下一张手牌以及下下一张手牌的数量,查询预设拆分规则表,确定按照顺子组合形式拆分或按照刻子组合形式拆分;
若所述风牌的数量大于等于3,则按照刻子组合形式拆分。
上述过程同对数牌的拆分过程,具体可参见图2所示实施例,此处不再赘述。
本实施例提供的对风牌的拆分流程,电子设备根据风牌的数量以及预设的拆分规则,对风牌按照顺子组合形式或者刻子组合形式进行拆分,上述过程降低了电子设备的计算量,提高了电子设备对风牌的拆分效率,进而提升电子设备的判胡效率。
图4为本发明实施例提供的箭牌拆分的流程示意图,如图4所示,本实施提供的箭牌拆分过程,包括:
S401、获取所述箭牌不同牌面的数量;
S402、若所述箭牌的数量为1,则按照顺子组合形式拆分;
S403、若所述箭牌的数量为2,获取与所述待拆分手牌相连的下一张手牌以及下下一张手牌的数量,查询预设拆分规则表,确定按照顺子组合形式拆分或按照刻子组合形式拆分;
S404、若所述箭牌的数量大于等于3,则按照刻子组合形式拆分。
上述过程同对数牌的拆分过程,具体可参见图2所示实施例,此处不再赘述。
本实施例提供的对箭牌的拆分流程,电子设备根据箭牌的数量以及预设的拆分规则,对箭牌按照顺子组合形式或者刻子组合形式进行拆分,上述过程降低了电子设备的计算量,提高了电子设备对箭牌的拆分效率,进而提升电子设备的判胡效率。
基于上述各实施例提供的麻将游戏的控制方法,测试人员通过大量测试用牌对电子设备的计算能力进行了测试,下面几个表格列举了不同场景下电子设备对各测试用牌多次测试的测试数据。
(1)可胡牌场景
测试用牌1:1万,2万,2万,3万,3万,5万,5万,6万,7万,7万,8万,8万,2个万能牌。
表3为测试用牌1的测试数据
测试用牌2:2万,4万,5万,2个万能牌。
表4为测试用牌2的测试数据
(2)不可胡牌场景
测试用牌3:1万,2万,2万,3万,4万,5万,5万,6万,7万,7万,8万,9万,9万,1个万能牌。
表5为测试用牌3的测试数据
测试用牌4:2万,5万,8万,2个万能牌
表6为测试用牌4的测试数据
由上述测试数据来看,本发明实施例提供的麻将游戏的控制方法相对常规的基于递归和回溯的各组合模式的选将拆分法,对玩家当前手牌的计算及判断的效率大为提高,其中,对可胡手牌而言,通过本发明提供的方案效率相比常规方案平均提高了23.71倍,对不可胡手牌而言,通过本发明提供的方案效率相比常规方案平均提高了38.25倍。另外对于电子设备内存消耗而言,本发明提供的方案无递归压栈之类的额外空间消耗。
图5为本发明实施例提供的麻将游戏的控制装置的结构示意图,如图5所示,本实施例提供的控制装置50,包括:
获取模块51,用于获取游戏界面中玩家的手牌总数,判断模块52,用于判断所述手牌总数对3取余是否等于2,若所述手牌总数对3取余等于2,则所述判断模块52还用于判断当前手牌是否存在万能牌;
若存在万能牌,对手牌中的非万能牌依次作将,拆分模块53,用于对剩余手牌中的非万能牌按照第一预设流程进行拆分;确定模块54,用于确定除去选定的将牌之外的其余非万能牌胡牌所需的万能牌的数量,若所需的万能牌的数量小于等于当前手牌中万能牌的数量,则发送模块55,用于发送胡牌提示信息;
若不存在万能牌,所述判断模块52,还用于判断手牌中是否存在有且仅有一个花色的牌数等于3n+2,且其他花色的牌数均等于3n的情况,其中n为自然数;
若存在所述情况,所述拆分模块53,还用于从牌数等于3n+2花色的牌中,依次选取相同牌面的牌数大于等于2的牌作将,对剩余手牌按照第二预设流程进行拆分,若拆分后的剩余手牌为固定组合形式,则所述发送模块54,用于发送胡牌提示信息;其中所述相同牌面为花色和花色数量均相同的牌面。
可选的,所述固定组合形式包括顺子组合形式和刻子组合形式。
可选的,所述剩余手牌包括数牌,所述数牌包括万,筒,条花色的牌;所述拆分模块53,具体用于:
获取所述数牌不同牌面的数量;
若所述数牌的数量为1,则按照顺子组合形式拆分;
若所述数牌的数量为2,获取与所述数牌相连的下一张手牌以及下下一张手牌的数量,查询预设拆分规则表,确定按照顺子组合形式拆分或按照刻子组合形式拆分;
若所述数牌的数量大于等于3,则按照刻子组合形式拆分。
可选的,所述剩余手牌包括风牌;所述拆分模块53,具体用于:
将所述风牌按照同种牌面的个数升序排序处理;
若确定排序后的前两种牌面的数量总和等于第三种牌面的数量,且,等于第四种牌面的数量,则对所述风牌按照顺子组合形式拆分。
可选的,若确定顺序后的前两种牌面的数量总和不等于第三种牌面的数量,和/或,不等于第四种牌面的数量,所述拆分模块53,还用于:
若所述风牌的数量为1,则按照顺子组合形式拆分;
若所述风牌的数量为2,获取与所述待拆分手牌相连的下一张手牌以及下下一张手牌的数量,查询预设拆分规则表,确定按照顺子组合形式拆分或按照刻子组合形式拆分;
若所述风牌的数量大于等于3,则按照刻子组合形式拆分。
可选的,所述剩余手牌包括箭牌;所述拆分模块53,具体用于:
获取所述箭牌不同牌面的数量;
若所述箭牌的数量为1,则按照顺子组合形式拆分;
若所述箭牌的数量为2,获取与所述箭牌相连的下一张手牌以及下下一张手牌的数量,查询预设拆分规则表,确定按照顺子组合形式拆分或按照刻子组合形式拆分;
若所述箭牌的数量大于等于3,则按照刻子组合形式拆分。
可选的,若确定所述手牌总数对3取余不等于2,所述发送模块55,还用于:发送当前手牌处于非胡牌状态的提示信息。
上述任一实现方式提供的麻将游戏的控制装置,用来执行前述任一方法实施例中的技术方案,其实现原理和技术效果类似,在此不再赘述。
图6为本发明实施例提供的电子设备的硬件结构示意图,如图6所示,该电子设备60包括:
存储器61;
处理器62;以及
计算机程序;
其中,所述计算机程序存储在所述存储器61中,并被配置为由所述处理器62执行以实现前述方法实施例中任一实现方式提供的方法。
可选的,存储器61既可以是独立的,也可以跟处理器62集成在一起。
当存储器61是独立于处理器62之外的器件时,电子设备60还包括:
总线63,用于连接存储器61和处理器62。
本发明还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行以实现前述方法实施例中任一实现方式提供的方法。
应理解,上述处理器可以是中央处理单元(英文:Central Processing Unit,简称:CPU),还可以是其他通用处理器、数字信号处理器(英文:Digital Signal Processor,简称:DSP)、专用集成电路(英文:Application Specific Integrated Circuit,简称:ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器可能包含高速RAM存储器,也可能还包括非易失性存储NVM,例如至少一个磁盘存储器,还可以为U盘、移动硬盘、只读存储器、磁盘或光盘等。
总线可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(Peripheral Component,PCI)总线或扩展工业标准体系结构(ExtendedIndustry Standard Architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本申请附图中的总线并不限定仅有一根总线或一种类型的总线。
上述存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。存储介质可以是通用或专用计算机能够存取的任何可用介质。
一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于专用集成电路(Application Specific Integrated Circuits,简称:ASIC)中。当然,处理器和存储介质也可以作为分立组件存在于电子设备或主控设备中。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (10)

1.一种麻将游戏的控制方法,其特征在于,包括:
获取游戏界面中玩家的手牌总数,判断所述手牌总数对3取余是否等于2,若所述手牌总数对3取余等于2,则判断当前手牌是否存在万能牌;
若存在万能牌,对手牌中的非万能牌依次作将,对剩余手牌中的非万能牌按照第一预设流程进行拆分,确定除去选定的将牌之外的其余非万能牌胡牌所需的万能牌的数量,若所需的万能牌的数量小于等于当前手牌中万能牌的数量,则发送胡牌提示信息;
若不存在万能牌,判断手牌中是否存在有且仅有一个花色的牌数等于3n+2,且其他花色的牌数均等于3n的情况,其中n为自然数;
若存在所述情况,从牌数等于3n+2花色的牌中,依次选取相同牌面的牌数大于等于2的牌作将,对剩余手牌按照第二预设流程进行拆分,若拆分后的剩余手牌为固定组合形式,则发送胡牌提示信息;其中所述相同牌面为花色和花色数量均相同的牌面。
2.根据权利要求1所述的方法,其特征在于,所述固定组合形式包括顺子组合形式和刻子组合形式。
3.根据权利要求1所述的方法,其特征在于,所述剩余手牌包括数牌,所述数牌包括万,筒,条花色的牌;所述对剩余手牌中的非万能牌按照第一预设流程进行拆分,包括:
获取所述数牌不同牌面的数量;
若所述数牌的数量为1,则按照顺子组合形式拆分;
若所述数牌的数量为2,获取与所述数牌相连的下一张手牌以及下下一张手牌的数量,查询预设拆分规则表,确定按照顺子组合形式拆分或按照刻子组合形式拆分;
若所述数牌的数量大于等于3,则按照刻子组合形式拆分。
4.根据权利要求1所述的方法,其特征在于,所述剩余手牌包括风牌;所述对剩余手牌中的非万能牌按照第一预设流程进行拆分,包括:
将所述风牌按照同种牌面的个数升序排序处理;
若确定排序后的前两种牌面的数量总和等于第三种牌面的数量,且,等于第四种牌面的数量,则对所述风牌按照顺子组合形式拆分。
5.根据权利要求4所述的方法,其特征在于,若确定顺序后的前两种牌面的数量总和不等于第三种牌面的数量,和/或,不等于第四种牌面的数量,还包括:
若所述风牌的数量为1,则按照顺子组合形式拆分;
若所述风牌的数量为2,获取与所述待拆分手牌相连的下一张手牌以及下下一张手牌的数量,查询预设拆分规则表,确定按照顺子组合形式拆分或按照刻子组合形式拆分;
若所述风牌的数量大于等于3,则按照刻子组合形式拆分。
6.根据权利要求1所述的方法,其特征在于,所述剩余手牌包括箭牌;所述对剩余手牌中的非万能牌按照第一预设流程进行拆分,包括:
获取所述箭牌不同牌面的数量;
若所述箭牌的数量为1,则按照顺子组合形式拆分;
若所述箭牌的数量为2,获取与所述待拆分手牌相连的下一张手牌以及下下一张手牌的数量,查询预设拆分规则表,确定按照顺子组合形式拆分或按照刻子组合形式拆分;
若所述箭牌的数量大于等于3,则按照刻子组合形式拆分。
7.根据权利要求1所述的方法,其特征在于,若确定所述手牌总数对3取余不等于2,所述方法还包括:
发送当前手牌处于非胡牌状态的提示信息。
8.一种麻将游戏的控制装置,其特征在于,包括:
获取模块,用于获取游戏界面中玩家的手牌总数,判断模块,用于判断所述手牌总数对3取余是否等于2,若所述手牌总数对3取余等于2,则所述判断模块还用于判断当前手牌是否存在万能牌;
若存在万能牌,对手牌中的非万能牌依次作将,拆分模块,用于对剩余手牌中的非万能牌按照第一预设流程进行拆分,确定模块,用于确定除去选定的将牌之外的其余非万能牌胡牌所需的万能牌的数量,若所需的万能牌的数量小于等于当前手牌中万能牌的数量,则发送模块,用于发送胡牌提示信息;
若不存在万能牌,所述判断模块,还用于判断手牌中是否存在有且仅有一个花色的牌数等于3n+2,且其他花色的牌数均等于3n的情况,其中n为自然数;
若存在所述情况,所述拆分模块,还用于从牌数等于3n+2花色的牌中,依次选取相同牌面的牌数大于等于2的牌作将,对剩余手牌按照第二预设流程进行拆分,若拆分后的剩余手牌为固定组合形式,则所述发送模块,用于发送胡牌提示信息;其中所述相同牌面为花色和花色数量均相同的牌面。
9.一种电子设备,其特征在于,包括:
存储器;
处理器;以及
计算机程序;
其中,所述计算机程序存储在所述存储器中,并被配置为由所述处理器执行以实现如权利要求1至7任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,所述计算机程序被处理器执行以实现如权利要求1至7任一项所述的方法。
CN201910264280.XA 2019-04-03 2019-04-03 麻将游戏的控制方法、装置及设备 Pending CN109876425A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910264280.XA CN109876425A (zh) 2019-04-03 2019-04-03 麻将游戏的控制方法、装置及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910264280.XA CN109876425A (zh) 2019-04-03 2019-04-03 麻将游戏的控制方法、装置及设备

Publications (1)

Publication Number Publication Date
CN109876425A true CN109876425A (zh) 2019-06-14

Family

ID=66935890

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910264280.XA Pending CN109876425A (zh) 2019-04-03 2019-04-03 麻将游戏的控制方法、装置及设备

Country Status (1)

Country Link
CN (1) CN109876425A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110478908A (zh) * 2019-08-22 2019-11-22 网易(杭州)网络有限公司 麻将游戏的控制方法及装置、存储介质、电子设备
CN110570851A (zh) * 2019-07-31 2019-12-13 中至数据集团股份有限公司 语音识别出牌控制方法、系统、移动终端及存储介质
CN113485925A (zh) * 2021-07-01 2021-10-08 网易(杭州)网络有限公司 游戏测试方法、装置、设备、存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080132316A1 (en) * 2006-12-05 2008-06-05 European Rainbow Roulette, Llc Mahjong roulette gaming system, and method
CN105169697A (zh) * 2015-07-28 2015-12-23 上海斐讯数据通信技术有限公司 一种基于移动终端的麻将胡牌控制方法及系统
CN107185241A (zh) * 2017-05-27 2017-09-22 竞技世界(北京)网络技术有限公司 基于互联网的麻将游戏操作提醒方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080132316A1 (en) * 2006-12-05 2008-06-05 European Rainbow Roulette, Llc Mahjong roulette gaming system, and method
CN105169697A (zh) * 2015-07-28 2015-12-23 上海斐讯数据通信技术有限公司 一种基于移动终端的麻将胡牌控制方法及系统
CN107185241A (zh) * 2017-05-27 2017-09-22 竞技世界(北京)网络技术有限公司 基于互联网的麻将游戏操作提醒方法及装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110570851A (zh) * 2019-07-31 2019-12-13 中至数据集团股份有限公司 语音识别出牌控制方法、系统、移动终端及存储介质
CN110478908A (zh) * 2019-08-22 2019-11-22 网易(杭州)网络有限公司 麻将游戏的控制方法及装置、存储介质、电子设备
CN113485925A (zh) * 2021-07-01 2021-10-08 网易(杭州)网络有限公司 游戏测试方法、装置、设备、存储介质

Similar Documents

Publication Publication Date Title
CN109876425A (zh) 麻将游戏的控制方法、装置及设备
CN108093274A (zh) 一种直播间排序方法、电子设备及可读存储介质
CN107767263A (zh) 一种消费信贷的审批方法、装置及服务器
CN109981910A (zh) 业务推荐方法及设备
CN103646074B (zh) 一种确定图片簇描述文本核心词的方法及装置
CN109800292A (zh) 问答匹配度的确定方法、装置及设备
CN109359174B (zh) 行政区划归属识别方法、装置、存储介质及计算机设备
CN110478908A (zh) 麻将游戏的控制方法及装置、存储介质、电子设备
CN115471278A (zh) 一种按消费顺序排队的返现方法及系统
Ying et al. Label errors in BANKING77
CN113240259B (zh) 规则策略组的生成方法、系统及电子设备
CN107229605A (zh) 文本相似度的计算方法及装置
Schmidt The financial crisis and its impact on China
WO2024152475A1 (zh) 一种防作弊的返现方法及系统
Dhar et al. Foreign direct investment and domestic savings-investment behaviour: Developing countries' experience
CN112241820A (zh) 资金流动中关键节点的风险识别方法、装置及计算设备
CN106131238A (zh) Ip地址的分类方法及装置
CN110706111A (zh) 可疑交易账户的识别方法、装置、存储介质和服务器
Kovářová Economic globalization effects and openness to trade of the ECOWAS member states
CN111367732B (zh) 一种内存应用等级预测方法、系统、终端及存储介质
CN112596903A (zh) 基于大数据的信息智能处理方法及装置
CN112035594A (zh) 招投标信息抽取结果筛选系统及方法
CN205318459U (zh) 股票机构还原数据系统
CN108475395A (zh) 网络贷款投资用户的排序方法及装置
CN108154177A (zh) 业务识别方法、装置、终端设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20190614

RJ01 Rejection of invention patent application after publication