CN103877725B - 电子棋牌数据处理方法及系统 - Google Patents
电子棋牌数据处理方法及系统 Download PDFInfo
- Publication number
- CN103877725B CN103877725B CN201210558387.3A CN201210558387A CN103877725B CN 103877725 B CN103877725 B CN 103877725B CN 201210558387 A CN201210558387 A CN 201210558387A CN 103877725 B CN103877725 B CN 103877725B
- Authority
- CN
- China
- Prior art keywords
- board type
- board
- seed
- role
- probability
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07F—COIN-FREED OR LIKE APPARATUS
- G07F17/00—Coin-freed apparatus for hiring articles; Coin-freed facilities or services
- G07F17/32—Coin-freed apparatus for hiring articles; Coin-freed facilities or services for games, toys, sports, or amusements
- G07F17/3286—Type of games
- G07F17/3293—Card games, e.g. poker, canasta, black jack
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07F—COIN-FREED OR LIKE APPARATUS
- G07F17/00—Coin-freed apparatus for hiring articles; Coin-freed facilities or services
- G07F17/32—Coin-freed apparatus for hiring articles; Coin-freed facilities or services for games, toys, sports, or amusements
- G07F17/326—Game play aspects of gaming systems
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明涉及一种电子棋牌数据处理方法及系统,包括:生成牌型配置表;读取牌型配置表并选定实际使用概率符合其正态分布概率的一种牌型,根据所选定的牌型中各个牌型种子出现的个数,在随机生成的一副牌中随机取出对应个数的牌型种子,生成牌型种子数组,并生成随机角色数组;将牌型种子数组中的牌型种子随机分配给所述随机角色数组中的角色,将该副牌中除牌型种子数组中的牌型种子以外的牌随机分配给随机角色数组中的所有角色;对所有角色所获得的牌进行校验,如果校验合格则将分配给每个角色的牌传输给每个角色所对应的客户端,否则,重新返回所述读取所述牌型配置表的步骤。本发明把牌型与概率抽象成配置表的模式封装在后台中,效率更高。
Description
技术领域
本发明涉及计算机数据处理技术领域,特别涉及一种电子棋牌数据处理方法及系统。
背景技术
游戏终端中的棋牌类游戏(如:斗地主、麻将等)除了需要在玩法上吸引用户外,还需要生成好的配牌算法,好的配牌算法可以避免用户猜到牌型或者由于总抽不到好牌而过早放弃。
在没有使用配牌算法之前,比较通用的做法是采用随机配牌的策略,也就是将所有的牌按照随机策略分配给每个角色,算法很简单,但对于出牌组合的分布基本不可以控制。角色的牌都很分散,拿到好牌的概率会比较小。
还有一种方法是固定生成多副好牌,然后每次对角色配牌时就从这些固定的好牌中选取某一副好牌分配给每个角色。这样做可以做到好牌的出牌组合可以控制,但是,每种特殊出牌组合概率不好控制,按照通用的方法,好牌和差牌的可配置空间很小。另外,只有单局游戏的概率控制,没有全局的概率控制,随着时间的推进,很难保证大量的牌局综合起来还是这个概率。更重要的问题是,现有技术很难做到动态配置,好牌的出牌组合需要提前生成好,由于配牌算法不能做到可配置性,每一次配牌策略的变化都需要升级后台服务器,效率很低。
发明内容
本发明的目的在于,提供一种可解决上述问题的电子棋牌数据处理方法及系统。
本发明的目的及解决其技术问题是采用以下技术方案来实现的。
一种电子棋牌数据处理方法,包括:生成牌型配置表,所述牌型配置表包括由多种牌型种子所构成的多种牌型及每种牌型对应的属性,每种牌型的属性包括该种牌型中各种牌型种子出现的个数以及根据正态分布函数获得的该种牌型的正态分布概率;读取所述牌型配置表并选定实际使用概率符合其正态分布概率的一种牌型,根据所选定的牌型中各个牌型种子出现的个数,在随机生成的一副牌中随机取出对应个数的牌型种子,生成牌型种子数组;随机生成随机角色数组;将所述牌型种子数组中的牌型种子依次分配给由所述随机角色数组中随机选出的角色,将该副牌中除所述牌型种子数组中的牌型种子以外的牌随机分配给所述随机角色数组中的所有角色;对分配给每个角色的牌进行校验,如果校验合格则将分配给每个角色的牌传输给每个角色所对应的客户端,否则,重新返回所述读取所述牌型配置表的步骤。
一种电子棋牌数据处理系统,包括:牌型配置模块,用于生成牌型配置表,所述牌型配置表包括由多种牌型种子所构成的多种牌型及每种牌型对应的属性,每种牌型的属性包括该种牌型中各种牌型种子出现的个数以及根据正态分布函数获得的该种牌型的正态分布概率;牌型种子数组生成模块,用于读取所述牌型配置表并选定实际使用概率符合其正态分布概率的一种牌型,根据所选定的牌型中各个牌型种子出现的个数,在随机生成的一副牌中随机取出对应个数的牌型种子,生成牌型种子数组;随机角色数组生成模块,用于随机生成随机角色数组;配牌模块,用于将所述牌型种子数组中的牌型种子依次分配给由所述随机角色数组中随机选出的角色,将该副牌中除所述牌型种子数组中的牌型种子以外的牌随机分配给所述随机角色数组中的所有角色;校验模块,用于对分配给每个角色的牌进行校验,如果校验合格则将分配给每个角色的牌传输给每个角色所对应的客户端,否则,重新返回所述读取所述牌型配置表的步骤。
与现有技术相比,本发明所提出的电子棋牌数据处理方法及系统中牌型和该牌型出现的概率是独立的互不影响的,二者可以交叉出各种情况,满足笛卡尔乘积模式,使得在具体牌型生成中不需要关注牌型组成,只需进行概率区间判断,开发简单,效率高;每种牌型的正态分布概率是个全局概率,可以进行动态修正,保持从整体上看每种牌型出现的概率不会有大的偏差;本发明的可配置性强,把牌型与概率抽象成配置表的模式封装在后台中,如需要进行牌型变更无需修改代码,便可实现牌型的定期变化,不需要升级后台服务器,效率更高。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明第一实施例提供的一种电子棋牌数据处理方法的流程图。
图2是图1中步骤S11的一种具体流程图。
图3是不同牌型的正态分布图。
图4是图1中步骤S12的一种具体流程图。
图5是本发明第一实施例提供的一种电子棋牌数据处理方法的后台调用时序图。
图6是本发明第二实施例提供的一种电子棋牌数据处理系统的结构示意图。
图7是图6中牌型配置模块21的一种具体结构示意图。
图8是图7中牌型生成模块213的一种具体结构示意图。
图9是图6中牌型种子数组生成模块22的一种具体结构示意图。
具体实施方式
为更进一步阐述本发明为达成预定发明目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本发明提出的电子棋牌数据处理方法及系统其具体实施方式、方法、步骤、结构、特征及其功效,详细说明如下。
有关本发明的前述及其他技术内容、特点及功效,在以下配合参考图式的较佳实施例的详细说明中将可清楚呈现。通过具体实施方式的说明,当可对本发明为达成预定目的所采取的技术手段及功效得以更加深入且具体的了解,然而所附图式仅是提供参考与说明之用,并非用来对本发明加以限制。
本发明提出的电子棋牌数据处理方法和系统适用于在可以作为游戏终端的终端设备(例如电子游戏机、智能手机、平板电脑等)上实现的棋盘游戏和牌类游戏,主要包括:扑克、斗地主、麻将、中国象棋、中国跳棋、军旗、黑白棋、五子棋等。
第一实施例
参照图1,图1是本发明第一实施例提供的一种电子棋牌数据处理方法的流程图。于本实施例中,电子棋牌数据处理方法包括:
S11:生成牌型配置表,所述牌型配置表包括由多种牌型种子所构成的多种牌型及每种牌型对应的属性,每种牌型的属性包括该种牌型中各种牌型种子出现的个数以及根据正态分布函数获得的该种牌型的正态分布概率。
考虑到牌型配置表的灵活性,可以将所有可能出现的牌型以其中的牌型种子出现个数的形式进行配置。
请参照图2,图2是图1中步骤S11的具体流程图。于步骤S11中,进一步可包括以下步骤:
S111:根据棋牌的种类选取至少两种牌型种子,所选取的至少两种好牌牌型种子的组合为所述牌型。
根据具体的棋牌的种类,所选取的牌型种子也不同,例如,在扑克牌的“斗地主”游戏中,选取牌型种子为:“顺子”(五张以上顺连的牌,例如 )、“炸弹”(有四张同一点数的牌,例如)、“三张”(有三张同一点数的牌,例如)、“连对”(两张相同点数的牌顺连另外两张相同点数的牌,例如),那么,“顺子”、“炸弹”、“三张”、“连对”的组合就构成牌型。根据“顺子”、“炸弹”、“三张”、“连对”在一副牌中出现的个数进行不同的组合又可以形成多种牌型。例如1个“顺子”、0个“炸弹”、2个“三张”、0个“连对”形成一种牌型;0个“顺子”、3个“炸弹”、0个“三张”、1个“连对”形成另一种牌型。牌型种子可以事先存储在一个种子列表或者数据库中。
S112:设置所述每种牌型种子在一副牌中出现个数的个数区间。
对已经选取好的牌型种子可以对其的出现个数的个数区间进行设置,也就是设置该种牌型种子在一副牌中最多能够出现的个数。个数区间可以由人为提前配置好的,具体个数根据产品策略定制。例如,可以设置在一副牌中牌型种子“顺子”出现的个数区间为[0,5],也就是在一副牌中最多可以生成5个“顺子”。
S113:采用概率区间算法生成牌型。
于步骤S113中,根据棋牌的种类设置所述每种牌型中各种牌型种子可能出现的个数对应的概率区间,该概率区间以百分之一为单位;对牌型中的每种牌型种子均进行如下步骤:随机生成一个比较大的数,比较大的数特指105至107之间的数。计算该比较大的数除以100后所得到的余数;设定该余数所在的概率区间所对应的个数为该牌型种子出现的个数。
继续以上面的牌型种子“顺子”为例,请参照表一,在表一中,由于“顺子”的个数区间为[0,5],那么,“顺子”可能出现的个数分别为0个、1个、2个、3个、4个、5个,设置这些个数对应的概率区间,该概率区间以百分之一为单位,例如设置“顺子”出现0个的概率区间为0~5、设置“顺子”出现1个的概率区间为5~15、“顺子”出现2个的概率区间为15~35、“顺子”出现3个的概率区间为35~50、“顺子”出现4个的概率区间为5~15、“顺子”出现5个的概率区间为0~5。
表一
随机生成一个比较大的数,例如1013904223,计算1013904223除以100后所得到的余数,也就是对1013904223取模100后得到的余数,1013904223%100=23,余数为23,由于23所在的概率区间为15~35,而从表一可以看出,该概率区间所对应的个数为2个,那么就设定“顺子”出现的个数为2个,对牌型中其他牌型种子均进行上述操作,即可得到每种牌型种子对应的个数,也就生成了一种牌型。
S114:判断生成的牌型中每种牌型种子的出现个数是否落在该种牌型种子的个数区间内,如果判断结果为是,则返回该牌型中各个牌型种子的出现个数并保留该牌型,否则,重新生成牌型,当所保留的牌型满足预订数量时停止生成牌型。
例如,对于由“顺子”、“炸弹”、“三张”、“连对”形成的牌型来说,“顺子”的个数区间为[0,5],“炸弹”的个数区间为[0,3],“三张”的个数区间为[0,2],“连对”的个数区间为[0,2],如果生成的牌型为0个“顺子”、3个“炸弹”、3个“三张”、1个“连对”,由于“三张”的个数没有落在区间[0,2]内,那么此种牌型就不能保留在牌型配置表中,需要重新生成牌型。
S115:根据正态分布函数获得所生成的每种牌型的正态分布概率。
请参照图3,图3是不同牌型的正态分布图。图3中X轴代表每种牌型的序号,Y轴代表对应牌型在10000次样本空间中出现的次数。每种牌型出现的次数相对于总生成次数要符合正态分布规律。也就是较差的牌型和较好的牌型的出现概率总是位于正态分布图的末端,即产生概率相对较小;而绝大部分牌型分布在均匀的中部,代表用户能够拿到一般牌型的概率比较平均。也就是说每种牌型的正态分布概率是个全局概率,可以进行动态修正,保持从整体上看每种牌型出现的概率不会有大的偏差。正态分布概率的动态修正是指,在每次产生一次牌型时,都要用当前牌型已出现的次数除以总的生成牌型次数得到一个概率值,该值不能超过预先设定的正态分布概率,如果超过了预先设定的正态分布概率,则本牌型是无效牌型,不能生成,需要重新生成。
S12:读取所述牌型配置表并选定实际使用概率符合其正态分布概率的一种牌型,根据所选定的牌型中各个牌型种子出现的个数,在随机生成的一副牌中随机取出对应个数的牌型种子,生成牌型种子数组;生成随机角色数组。
这里所说的随机角色数组指的是虚拟角色进行编号所形成的数组,根据不同的棋牌种类,所需要的角色的个数也不同,例如,在处理“麻将”的数据时,可以设置四个角色;在处理“斗地主”的数据时,可以设置三个角色;在处理“中国象棋”的数据时,可以设置两个角色。如果该数据处理方法用于一般的在线类游戏,那么一个角色对应一个客户端,如果该数据处理方法用于本地的人机对战类游戏,那么多个角色可能对应于一个客户端,本发明并不以此为限。优选的,在随机生成的一副牌中随机取出对应个数的牌型种子前,可以先对该副牌进行洗牌的处理。
请参照图4,图4为步骤S12的具体流程图。于步骤S12中,可进一步包括步骤:
S121:选定所述牌型配置表中的一种牌型;
S122:判断所选中的牌型的实际使用概率是否小于该牌型的正态分布概率,如果小于,则进行S123:根据所选定的牌型中各种牌型种子出现的个数,在该副牌中按照对应牌型种子的个数随机取出对应的牌型种子,生成牌型种子数组,否则,返回步骤S121,直到选定的牌型的实际使用概率符合其正态分布概率为止。
对于所选定的牌型,首先要判断这种牌型的实际使用概率是否小于该牌型的正态分布概率,也就是判断该牌型的实际使用次数是否小于该牌型标准使用次数(该牌型的正态分布概率*样本数),如果判断结果为是,根据所选定的牌型中各种牌型种子出现的个数,在随机生成的一副牌中按照对应牌型种子的个数随机取出对应的牌型种子,例如,所选定的牌型中“顺子”的出现个数为2个,“炸弹”的出现个数为3个,“三张”的出现个数为1个,“连对”的出现个数为2个:即需要由该副牌中随机取出2个“顺子”,3个“炸弹”,1个“三张”,2个“连对”组成一个牌型种子数组。如果判断结果为否,则从牌型配置表中读取下一种牌型,然后再判断下一种牌型的实际使用概率是否小于其正态分布概率,直到读取的牌型的实际使用概率小于该牌型的正态分布概率为止。
对于随机角色数组来说,生成随机角色数组时要采用伪随机算法,以保证每个角色分配到牌型种子的概率尽量没有规律可循,这样可以减少角色之间牌型种子差异过大。在伪随机算法中,真正意义上的随机数(或者随机事件)在某次产生过程中是按照实验过程中表现的分布概率随机产生的,其结果是不可预测的。
可选的,考虑到斗地主或者麻将类游戏的一局角色数目有限(为三人或者四人),随机效果不好,还可以对角色数量进行等比放大。等比放大算法如下:单个角色获得平均牌型种子数=牌型种子总数/角色总数,如果牌型种子总数%角色总数>0,那么单个角色获得平均牌型种子数=牌型种子总数/角色总数+1;在牌型种子总数范围内将起始下标除以单个角色获得平均牌型种子数并加入到随机角色数组。平均牌型种子数=牌型种子总数/角色总数+1的意思是保证牌型种子都要平均分摊在每个角色手中,+1代表牌型种子总数不能被角色总数整除的话,则取整再加1。
S13:将所述牌型种子数组中的牌型种子随机的依次分配给由所述随机角色数组中随机选出的角色,将该副牌中除所述牌型种子数组中的牌型种子以外的牌随机分配给所述随机角色数组中的所有角色。
具体的,从牌型种子数组中随机取一个牌型种子作为待选牌型种子,从随机角色数组中随机选择一个角色作为待选配牌角色,如果待选配牌角色手牌数加上待选牌型种子的牌数小于每个角色规定的牌数,则将待选牌型种子分配给待选配牌角色,否则,重新随机选择待选配牌角色。从牌型种子数组中去掉已选择的牌型种子,从随机角色数组中去掉已配牌的角色,再重复以上的步骤,直到将牌型种子数组中的牌型种子全部分配出去。接着,将该副牌中除所述牌型种子数组中的牌型种子以外的牌随机分配给所述随机角色数组中的所有角色。
S14:对分配给每个角色的牌进行校验,如果校验合格则将分配给每个角色的牌传输给每个角色所对应的客户端,否则,重新返回所述读取所述牌型配置表的步骤。
重新返回所述读取所述牌型配置表的步骤,也就是重新配牌,可设定最多重新配牌N次,在重新配牌的过程中,客户端并不会对此有感知。对所有角色的牌进行校验包括校验每个角色的牌的数目、每个角色的牌型种子出现的概率是否超过预定概率或者角色与角色之间的牌型种子的差异是否超过预定差异值。步骤S14是对分配给角色的牌进行牌型校验,检验是否有非法牌型产生(比如:每个角色的牌的数目不对,角色之间牌型种子型概率的生成偏差过大,使得角色牌型种子差异太大等情况),如果遇到该情况,此次配牌失败,需要重新返回所述读取所述牌型配置表的步骤,也就是重新进行配牌。
上述步骤S11至步骤S14的后台调用时序如图5所示,首先是配牌服务器(matchingcard server)从配置服务器(configure server)拉取牌型配置表,将牌型数据解析成二位数组进行存储。紧接着配牌服务器通知选牌服务器去随机选取符合正态分布概率的牌型,根据牌型从选牌服务器选取对应牌型种子,只有落在正态分布概率内的牌型才是有效牌型,否则当此牌型选择无效。如果以上步骤均有效,则选牌服务器将选好的牌型返回。然后,配牌服务器根据牌型种子数量,随机将角色编号进行分组,随机从中选择一个角色,并将一个牌型种子分配给该角色,从牌型种子数组中去掉已选择的牌型种子,从随机角色数组中去掉已配牌的角色,再重复以上的步骤,直到将牌型种子数组中的牌型种子全部分配出去。最后将除牌型种子以外的其他随机牌分配给所有角色,要保证每个角色手牌数小于有效牌数,否则配牌无效,需要重新配牌。如果配牌成功,配牌服务器会通知配置服务器和选牌服务器,此次配牌有效,返回所有牌型给角色,并将分配给每个角色的牌传输给每个角色所对应的客户端。
相对于现有技术,本发明所提出的电子棋牌数据处理方法中牌型和该牌型出现的概率是独立的互不影响的,二者可以交叉出各种情况,满足笛卡尔乘积模式,使得在具体牌型生成中不需要关注牌型组成,只需进行概率区间判断,开发简单,效率高;每种牌型的正态分布概率是个全局概率,可以进行动态修正,保持从整体上看每种牌型出现的概率不会有大的偏差;本发明的可配置性强,把牌型与概率抽象成配置表的模式封装在后台中,如需要进行牌型变更无需修改代码,便可实现牌型的定期变化,不需要升级后台服务器,效率更高。本发明还可进行灵活方便的扩展与更新。
第二实施例
参照图6,图6是本发明第二实施例提供的一种电子棋牌数据处理系统的结构示意图。于本实施例中,电子棋牌数据处理系统20包括:牌型配置模块21、牌型种子数组生成模块22、随机角色数组生成模块23、配牌模块24、校验模块25。
牌型配置模块21用于生成牌型配置表,所述牌型配置表包括由多种牌型种子所构成的多种牌型及每种牌型对应的属性,每种牌型的属性包括该种牌型中各种牌型种子出现的个数以及根据正态分布函数获得的该种牌型的正态分布概率。
牌型种子数组生成模块22用于读取所述牌型配置表并选定实际使用概率符合其正态分布概率的一种牌型,根据所选定的牌型中各个牌型种子出现的个数,在随机生成的一副牌中随机取出对应个数的牌型种子,生成牌型种子数组。
随机角色数组生成模块23用于生成随机角色数组。
配牌模块24用于将所述牌型种子数组中的牌型种子依次分配给由所述随机角色数组中随机选出的角色,将该副牌中除所述牌型种子数组中的牌型种子以外的牌随机分配给所述随机角色数组中的所有角色。
校验模块25用于对分配给每个角色的牌进行校验,如果校验合格则将分配给每个角色的牌传输给每个角色所对应的客户端,否则,重新读取所述牌型配置表。
进一步的,请参照图7,所述牌型配置模块21,包括:牌型种子设置模块211、个数区间设置模块212、牌型生成模块213、第一判断模块214、概率生成模块215。
牌型种子设置模块211用于根据棋牌的种类选取至少两种牌型种子,所选取的至少两种好牌牌型种子的组合为所述牌型。
个数区间设置模块212用于设置所述每种好牌牌型种子出现个数的个数区间。
牌型生成模块213用于采用概率区间算法生成牌型。
第一判断模块214用于判断生成的牌型中每种牌型种子的出现个数是否落在该种牌型种子的概率区间内,如果判断结果为是,则返回该牌型中各个牌型种子的出现个数并保留该牌型,否则,所述牌型生成模块213重新生成牌型,当所保留的牌型满足预订数量时停止生成牌型。
概率生成模块215用于根据正态分布函数获得的所生成的每种牌型的正态分布概率。
进一步的,请参照图8,所述牌型生成模块213,包括:概率区间设定模块2131、牌型种子个数生成模块2132。
概率区间设定模块2131用于根据棋牌的种类设定所述每种牌型中各种牌型种子可能出现的个数对应的概率区间,该概率区间以百分之一为单位。
牌型种子个数生成模块2132用于对该牌型中每种牌型种子均随机生成一个比较大的数,计算该比较大的数除以100后所得到的余数;设定该余数所在的概率区间所对应的个数为该牌型种子出现的个数。
进一步的,请参照图9,所述牌型种子数组生成模块22包括牌型选择模块221、第二判断模块222、取牌模块223。
所述牌型选择模块221用于选定所述牌型配置表中的一种牌型。
所述第二判断模块222用于判断所述牌型选择模块所选中的牌型的实际使用概率是否小于该牌型的正态分布概率,如果小于,则所述取牌模块根据所选定的牌型中各种牌型种子出现的个数,在随机生成的一副牌中按照对应牌型种子的个数随机取出对应的牌型种子,生成牌型种子数组,否则,所述牌型选择模块重新选定一种牌型。
优选的,对所有角色的牌进行校验包括校验每个角色的牌的数目、每个角色的牌型种子出现的概率是否超过预定概率或者角色与角色之间的牌型种子的差异是否超过预定差异值。
相对于现有技术,本发明所提出的电子棋牌数据处理系统中牌型和该牌型出现的概率是独立的互不影响的,二者可以交叉出各种情况,满足笛卡尔乘积模式,使得在具体牌型生成中不需要关注牌型组成,只需进行概率区间判断,开发简单,效率高;每种牌型的正态分布概率是个全局概率,可以进行动态修正,保持从整体上看每种牌型出现的概率不会有大的偏差;本发明的可配置性强,把牌型与概率抽象成配置表的模式封装在后台中,如需要进行牌型变更无需修改代码,便可实现牌型的定期变化,不需要升级后台服务器,效率更高。本发明还可进行灵活方便的扩展与更新。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于系统类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,该的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述,仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种电子棋牌数据处理方法,其特征在于,包括:
生成牌型配置表,所述牌型配置表包括由多种牌型种子所构成的多种牌型及每种牌型对应的属性,每种牌型的属性包括该种牌型中各种牌型种子出现的个数以及根据正态分布函数获得的该种牌型的正态分布概率;
读取所述牌型配置表并选定实际使用概率符合其正态分布概率的一种牌型,根据所选定的牌型中各个牌型种子出现的个数,在随机生成的一副牌中随机取出对应个数的牌型种子,生成牌型种子数组,并采用随机算法生成随机角色数组;
将所述牌型种子数组中的牌型种子依次分配给由所述随机角色数组中随机选出的角色,将该副牌中除所述牌型种子数组中的牌型种子以外的牌随机分配给所述随机角色数组中的所有角色;
对分配给每个角色的牌进行校验,如果校验合格则将分配给每个角色的牌传输给每个角色所对应的客户端,否则,重新返回所述读取所述牌型配置表的步骤。
2.根据权利要求1所述的方法,其特征在于,所述生成牌型配置表的步骤,包括:
根据棋牌的种类选取至少两种牌型种子,所选取的至少两种牌型种子的组合为所述牌型;
设置所述每种牌型种子在一副牌中出现个数的个数区间;
采用概率区间算法生成牌型;
判断生成的牌型中每种牌型种子的出现个数是否落在该种牌型种子的个数区间内,如果判断结果为是,则返回该牌型中各个牌型种子的出现个数并保留该牌型,否则,重新生成牌型,当所保留的牌型满足预订数量时停止生成牌型;
根据正态分布函数获得所生成的每种牌型的正态分布概率。
3.根据权利要求2所述的方法,其特征在于,所述步骤采用概率区间算法生成牌型,包括:
根据棋牌的种类设置所述每种牌型中各种牌型种子可能出现的个数对应的概率区间,该概率区间以百分之一为单位;
对该牌型中每种牌型种子均进行如下步骤:
随机生成一个105至107之间的数,计算该数除以100后所得到的余数;
设置该余数所在的概率区间所对应的个数为该牌型种子出现的个数。
4.根据权利要求1所述的方法,其特征在于,所述步骤读取所述牌型配置表并选定实际使用概率符合其正态分布概率的一种牌型,包括:
读取所述牌型配置表中的一种牌型,判断所选中的牌型的实际使用概率是否小于该牌型的正态分布概率,如果小于,则根据所选定的牌型中各种牌型种子出现的个数,在该副牌中按照对应牌型种子的个数随机取出对应的牌型种子,生成牌型种子数组,否则,重新选定一种牌型。
5.根据权利要求1所述的方法,其特征在于,对所有角色的牌进行校验包括校验每个角色的牌的数目、每个角色的牌型种子出现的概率是否超过预定概率或者角色与角色之间的牌型种子的差异是否超过预定差异值。
6.一种电子棋牌数据处理系统,其特征在于,包括:
牌型配置模块,用于生成牌型配置表,所述牌型配置表包括由多种牌型种子所构成的多种牌型及每种牌型对应的属性,每种牌型的属性包括该种牌型中各种牌型种子出现的个数以及根据正态分布函数获得的该种牌型的正态分布概率;
牌型种子数组生成模块,用于读取所述牌型配置表并选定实际使用概率符合其正态分布概率的一种牌型,根据所选定的牌型中各个牌型种子出现的个数,在随机生成的一副牌中随机取出对应个数的牌型种子,生成牌型种子数组;
随机角色数组生成模块,用于随机生成随机角色数组;
配牌模块,用于将所述牌型种子数组中的牌型种子依次分配给由所述随机角色数组中随机选出的角色,将该副牌中除所述牌型种子数组中的牌型种子以外的牌随机分配给所述随机角色数组中的所有角色;
校验模块,用于对分配给每个角色的牌进行校验,如果校验合格则将分配给每个角色的牌传输给每个角色所对应的客户端,否则,重新返回所述读取所述牌型配置表的步骤。
7.根据权利要求6所述的系统,其特征在于,所述牌型配置模块,包括:
牌型种子设置模块,用于根据棋牌的种类选取至少两种牌型种子,所选取的至少两种好牌牌型种子的组合为所述牌型;
个数区间设置模块,用于设置所述每种好牌牌型种子出现个数的个数区间;
牌型生成模块,用于采用概率区间算法生成牌型;
第一判断模块,用于判断生成的牌型中每种牌型种子的出现个数是否落在该种牌型种子的概率区间内,如果判断结果为是,则返回该牌型中各个牌型种子的出现个数并保留该牌型,否则,所述牌型生成模块重新生成牌型,当所保留的牌型满足预订数量时停止生成牌型;
概率生成模块,用于根据正态分布函数获得的所生成的每种牌型的正态分布概率。
8.根据权利要求7所述的系统,其特征在于,所述牌型生成模块,包括:
概率区间设定模块,用于根据棋牌的种类设定所述每种牌型中各种牌型种子可能出现的个数对应的概率区间,该概率区间以百分之一为单位;
牌型种子个数生成模块,用于对该牌型中每种牌型种子均进行如下步骤:随机生成一个比较大的数,计算该比较大的数除以100后所得到的余数;设定该余数所在的概率区间所对应的个数为该牌型种子出现的个数;其中,该比较大的数为105至107之间的数。
9.根据权利要求6所述的系统,其特征在于,所述牌型种子数组生成模块包括牌型选择模块、第二判断模块、取牌模块:
所述牌型选择模块用于选定所述牌型配置表中的一种牌型;
所述第二判断模块用于判断所述牌型选择模块所选中的牌型的实际使用概率是否小于该牌型的正态分布概率,如果小于,则所述取牌模块根据所选定的牌型中各种牌型种子出现的个数,在该副牌中按照对应牌型种子的个数随机取出对应的牌型种子,生成牌型种子数组,否则,所述牌型选择模块重新选定一种牌型。
10.根据权利要求6所述的系统,其特征在于,对所有角色的牌进行校验包括校验每个角色的牌的数目、每个角色的牌型种子出现的概率是否超过预定概率或者角色与角色之间的牌型种子的差异是否超过预定差异值。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210558387.3A CN103877725B (zh) | 2012-12-20 | 2012-12-20 | 电子棋牌数据处理方法及系统 |
KR1020157019272A KR101614417B1 (ko) | 2012-12-20 | 2013-12-09 | 전기 체스 및 카드 데이터의 처리 방법 및 시스템 |
PCT/CN2013/088878 WO2014094555A1 (en) | 2012-12-20 | 2013-12-09 | Method and system for processing electric chess and card data |
US14/265,263 US9811979B2 (en) | 2012-12-20 | 2014-04-29 | Method and system for processing electronic chess and card data |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210558387.3A CN103877725B (zh) | 2012-12-20 | 2012-12-20 | 电子棋牌数据处理方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103877725A CN103877725A (zh) | 2014-06-25 |
CN103877725B true CN103877725B (zh) | 2017-05-17 |
Family
ID=50947052
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210558387.3A Active CN103877725B (zh) | 2012-12-20 | 2012-12-20 | 电子棋牌数据处理方法及系统 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9811979B2 (zh) |
KR (1) | KR101614417B1 (zh) |
CN (1) | CN103877725B (zh) |
WO (1) | WO2014094555A1 (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5809207B2 (ja) * | 2013-07-30 | 2015-11-10 | グリー株式会社 | メッセージ通信プログラム、メッセージ通信方法及びメッセージ通信システム |
CN105447296B (zh) * | 2014-09-25 | 2018-01-16 | 博雅网络游戏开发(深圳)有限公司 | 扑克牌牌型序列和牌序序列的数据处理系统、装置和方法 |
CN105653831B (zh) * | 2014-11-10 | 2018-09-21 | 博雅网络游戏开发(深圳)有限公司 | 电子牌游戏牌型推荐方法和装置 |
CN106157075A (zh) * | 2015-04-03 | 2016-11-23 | 阿里巴巴集团控股有限公司 | 应用数据的生成方法和装置 |
JP6908573B2 (ja) * | 2018-02-06 | 2021-07-28 | グリー株式会社 | ゲーム処理システム、ゲーム処理方法、及びゲーム処理プログラム |
US10981067B2 (en) * | 2018-02-06 | 2021-04-20 | Gree, Inc. | Game processing system, method of processing game, and storage medium storing program for processing game |
CN110478908A (zh) * | 2019-08-22 | 2019-11-22 | 网易(杭州)网络有限公司 | 麻将游戏的控制方法及装置、存储介质、电子设备 |
CN111729316B (zh) * | 2020-06-15 | 2024-05-17 | 北京智明星通科技股份有限公司 | 一种卡牌对战类游戏中的出牌推荐方法、系统及游戏终端 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1378873A2 (en) * | 2002-07-05 | 2004-01-07 | Aruze Co., Ltd. | Gaming machine |
CN1939563A (zh) * | 2005-06-23 | 2007-04-04 | 阿鲁策株式会社 | 游戏机 |
CN101198992A (zh) * | 2005-06-16 | 2008-06-11 | Igt公司 | 个人游戏器件的虚约束 |
Family Cites Families (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5393067A (en) * | 1993-01-21 | 1995-02-28 | Igt | System, method and apparatus for generating large jackpots on live game card tables |
US6213877B1 (en) * | 1997-10-08 | 2001-04-10 | Walker Digital, Llc | Gaming method and apparatus having a proportional payout |
US6250685B1 (en) * | 1997-12-31 | 2001-06-26 | Walker Digital, Llc | Ticket for instant lottery game and method of playing same |
US6612927B1 (en) * | 2000-11-10 | 2003-09-02 | Case Venture Management, Llc | Multi-stage multi-bet game, gaming device and method |
US7695361B2 (en) * | 2001-04-18 | 2010-04-13 | Multimedia Games, Inc. | Prize assignment method and program product for bingo-type games |
US8133105B2 (en) * | 2001-11-15 | 2012-03-13 | Igt | Method and apparatus for facilitating play of a gaming device |
GB0203870D0 (en) * | 2002-02-19 | 2002-04-03 | Gamesoft Ltd | Card games involving increased possible combinations of cards |
US7452272B2 (en) * | 2002-04-19 | 2008-11-18 | Walker Digital, Llc | Methods and apparatus for representing play in a reverse mode |
WO2005032677A1 (en) * | 2003-10-07 | 2005-04-14 | Julian Jamison Kennedy | Method of and apparatus for playing a card game |
US7753770B2 (en) * | 2005-03-29 | 2010-07-13 | Igt | Methods and apparatus for determining hybrid wagering game sessions |
US7658672B1 (en) * | 2005-08-18 | 2010-02-09 | Igt | Multi-play poker gaming system with predetermined game outcomes |
US20070126181A1 (en) * | 2005-12-01 | 2007-06-07 | Bob Ciaffone | Method Of Playing A Card Game |
JP2008119130A (ja) * | 2006-11-09 | 2008-05-29 | Aruze Corp | ゲームマシン、ゲームマシンの制御方法、及びプレイ方法 |
JP2008119368A (ja) * | 2006-11-15 | 2008-05-29 | Aruze Corp | ゲームマシン、ゲームマシンの制御方法、及びプレイ方法 |
JP2008125756A (ja) * | 2006-11-20 | 2008-06-05 | Aruze Corp | ゲームマシン、ゲームマシンの制御方法、及びプレイ方法 |
JP2008125757A (ja) * | 2006-11-20 | 2008-06-05 | Aruze Corp | ゲームマシン、及びゲームマシンの制御方法 |
JP2008142284A (ja) * | 2006-12-08 | 2008-06-26 | Aruze Corp | ゲームマシン、ゲームマシンの制御方法、及びプレイ方法 |
US20080171587A1 (en) * | 2007-01-16 | 2008-07-17 | Precedent Gaming, Incorporated | Method for employing automatic optimum expected value play function in wagered games |
US20080220846A1 (en) * | 2007-03-06 | 2008-09-11 | Aruze Gaming America, Inc. | Gaming machine having a function of changing the number of free games according to the result of a role playing game |
US20080220881A1 (en) * | 2007-03-06 | 2008-09-11 | Aruze Gaming America, Inc. | Gaming machine having a function of the number of free games according to the result of a game in which a player selects a choice from among multiple choices |
AU2008227722A1 (en) * | 2007-03-19 | 2008-09-25 | Konami Digital Entertainment Co., Ltd. | Game macine and its computer program |
US20090023486A1 (en) * | 2007-07-17 | 2009-01-22 | Daisuke Nakamura | Mahjong game machine and mahjong game system |
US8398473B2 (en) * | 2007-11-08 | 2013-03-19 | Igt | Gaming system, gaming device, and method providing a card game with payouts based on odds of achieving certain events |
US8167697B2 (en) * | 2008-01-09 | 2012-05-01 | Precedent Gaming, Inc. | Rummy-type game for electronic casino gaming |
US9135773B2 (en) * | 2010-04-13 | 2015-09-15 | Gordon T. Graves | Bingo apparatus |
US20130023318A1 (en) * | 2011-07-21 | 2013-01-24 | Jamie Abrahamson | Method of playing variant of poker |
US9792772B2 (en) * | 2013-02-04 | 2017-10-17 | Formatfabriken STHLM idé och skrivbrå | Systems and methods for allowing players to play poker games having multiple decks |
-
2012
- 2012-12-20 CN CN201210558387.3A patent/CN103877725B/zh active Active
-
2013
- 2013-12-09 WO PCT/CN2013/088878 patent/WO2014094555A1/en active Application Filing
- 2013-12-09 KR KR1020157019272A patent/KR101614417B1/ko active IP Right Grant
-
2014
- 2014-04-29 US US14/265,263 patent/US9811979B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1378873A2 (en) * | 2002-07-05 | 2004-01-07 | Aruze Co., Ltd. | Gaming machine |
CN101198992A (zh) * | 2005-06-16 | 2008-06-11 | Igt公司 | 个人游戏器件的虚约束 |
CN1939563A (zh) * | 2005-06-23 | 2007-04-04 | 阿鲁策株式会社 | 游戏机 |
Also Published As
Publication number | Publication date |
---|---|
CN103877725A (zh) | 2014-06-25 |
US9811979B2 (en) | 2017-11-07 |
KR101614417B1 (ko) | 2016-04-21 |
KR20150088332A (ko) | 2015-07-31 |
WO2014094555A1 (en) | 2014-06-26 |
US20140235307A1 (en) | 2014-08-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103877725B (zh) | 电子棋牌数据处理方法及系统 | |
AU2006347261B2 (en) | Game of chance using three cross interactive boards | |
EP0898487B1 (en) | Networked computer game system with persistent playing objects | |
US9675892B2 (en) | Trading card game and method of play | |
JP5409876B1 (ja) | サーバー装置、及び、ゲームプログラム | |
US20120015701A1 (en) | Dynamic card system and method | |
KR20080094031A (ko) | 게임 콘솔 토너먼트 방법, 토너먼트 방법, 및 리더보드예선 토너먼트 방법 | |
CN104135506B (zh) | 网络数据负载均衡设计系统及方法 | |
WO2016081652A1 (en) | Engine, system and method for providing fantasy sports play | |
US20120244924A1 (en) | Poker-based wagering game for multiple players | |
JP6667363B2 (ja) | 情報処理装置、ゲームプログラム、及び、情報処理方法 | |
US10238975B2 (en) | Method for providing battle game, server device, and computer-readable recording medium | |
JP7132642B2 (ja) | ゲーム装置、ゲーム方法及びゲームプログラム | |
CN106209963A (zh) | 一种mmorpg游戏中的实现对象传送的方法、服务器和集群 | |
Cheung et al. | Remix and play: lessons from rule variants in texas hold'em and halo 2 | |
CN108211348A (zh) | 游戏装备发放安全保障方法 | |
US20170151492A1 (en) | Card randomizing method for wagering games | |
US11495094B1 (en) | Entertainment system | |
CN203090439U (zh) | 随机对战游戏设备 | |
CN1716146A (zh) | 一种阻断网络游戏外挂程序的方法 | |
US9149723B2 (en) | Random selection method, server, client and distributed system | |
CN105771237A (zh) | 棋牌游戏的换牌控制方法和装置 | |
KR20230155251A (ko) | 카드 게임 방법 | |
CN116617644A (zh) | 一种扑克牌游戏的发牌方法、发牌装置及发牌机 | |
Pierre-Louis | Framework for security in online video games |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |