一种能够使参与者进行游戏的设备及系统的制作方法

文档序号:16341664发布日期:2018-12-19 07:16阅读:233来源:国知局
一种能够使参与者进行游戏的设备及系统的制作方法

本申请属于互联网领域,尤其涉及一种能够使参与者进行游戏的设备及系统。

背景技术

随着互联网技术的发展,人们可以通过网络方便的进行沟通和以及进行数据的传送。并且随着越来越多的互联网应用的诞生,为人们的生活工作带来了极大的便利性。比如,人们需要玩纸牌游戏时,传统的方式需要将玩纸牌的多个用户聚集在同一位置才能进行纸牌游戏,而采用互联网技术,用户可以处于不同位置,方便随时建立连接,从而大大的提高用户使用的便利性。

虽然互联网技术的发展使得用户能够使用电子装置进行游戏,但是,用户在使用电子装置时,一般需要由服务器对游戏结果进行计算,如果游戏用户较多并且计算频繁时,可能会使得服务器消耗过多资源,不利于提高游戏运行的流畅性。



技术实现要素:

有鉴于此,本申请实施例提供了一种能够使参与者进行游戏的设备和系统,以解决现有技术中服务器需要消耗过多资源,不利于提高游戏运行的流畅性的问题。

本申请实施例的第一方面提供了一种能够使参与者进行游戏的设备,所述设备包括:

输入设备;

显示器;

处理器,所述处理器与所述输入设备和所述显示器一起运行,以便:

向多个参与者对应的图标位置发放多个参与者各自可见内容的底牌;

向公共位置逐个发放多个参与者均可见内容的公共纸牌;

接收客户端设备发送的组合数,所述组合数由客户端根据所述公共纸牌以及单个参与者的底牌构成纸牌集合,比较多个所述纸牌集合中单张的牌面数值,以及两张牌面的数值之和,为预定值的组合数;

在计算所述和值为预定值的数量时,可以包括如下步骤:

1)、按序统计底牌中单张牌的数值是否为预定值,如果是,则计数器加1,如果不是预定值且为有效牌(j,q,k为无效牌),则与其它底牌中的任意一张进行组合,判断组合的数值是否为预定值,如果是,则计数器加1,直到统计至最后一张底牌;

2)、按序逐个判断公共牌中单张纸牌是否为预定值,如果是则计数器继续加1,直至统计至最后一张公共牌;

3)、按序取一张底牌,如果底牌小于预定值且属于有效牌,与公牌中依次组合,如果组合的数值为预定值,则计数器加1,直到最后一张底牌与公共牌的最后一张组合完毕,得到计数器的数值即为求“预定值”数;

根据所述组合数的比较结果确定游戏结果。

结合第一方面,在第一方面的第一种可能实现方式中,所述处理器与所述输入设备和所述显示器一起运行时,还用于:

在发送底牌和公共纸牌后,根据参与者图标所在的位置,按照预定的位置顺序接收参与者根据当前底牌与公共纸牌所输入的跟分选择信息。

结合第一方面的第一种可能实现方式,在第一方面的第二种可能实现方式中,所述处理器与所述输入设备和所述显示器一起运行时,所述按照预定的位置顺序接收参与者根据当前底牌与公共纸牌所输入的跟分选择信息包括:

根据预定的位置顺序,在后的参与者的跟分值大于或等于在前的参与者所输入的跟分值,或者在后的参与者选择参与者当前拥有的全部分值。

结合第一方面的第一种可能实现方式,在第一方面的第三种可能实现方式中,所述处理器与所述输入设备和所述显示器一起运行时,所述选择信息包括跟分选择、放弃选择、加倍跟分选择、不操作选择或全部跟选择。

结合第一方面的第一种可能实现方式,在第一方面的第四种可能实现方式中,所述处理器与所述输入设备和所述显示器一起运行时,还用于:

根据所述游戏结果,对所有参与者投入的分值总和进行分配。

结合第一方面的第四种可能实现方式,在第一方面的第五种可能实现方式中,所述处理器与所述输入设备和所述显示器一起运行时,所述根据所述游戏结果,对所有参与者投入的分值总和进行分配包括:

当所有参与者没有选择跟参与者的全部分值时,将总的分值分配给比较结果的获胜参与者;

当有参与者选择跟进其全部分值时,若选择跟进全部分值的参与者获胜,则将跟进将全部跟进的分值对应的附分,分配至所述跟进全部分值的获胜参与者,将其它分值的主分,分配给没有全部跟进的其它参与者中的获胜参与者,或不是选择跟进全部分值的参与者获胜,则将总的分值分配给获胜参与者。

结合第一方面的第五种可能实现方式,在第一方面的第六种可能实现方式中,所述处理器与所述输入设备和所述显示器一起运行时,所述获胜参与者包括:

最后没有放弃的一个参与者;

或者最后多个参与者中的组合数最多的一个参与者;

或者最后多个参与者中的组合数相同,但底牌的点数最大的参与者;

或者最后多个参与者中的组合数相同,且底牌的最大点数相同的多个参与者。

结合第一方面,在第一方面的第七种可能实现方式中,所述处理器与所述输入设备和所述显示器一起运行时,还用于:

所述公共纸牌通过多次进行发放,且在每次发放后,按照预定的参与者的位置顺序,接收参与者根据当前底牌与公共纸牌所输入的选择信息。

结合第一方面,在第一方面的第八种可能实现方式中,所述处理器与所述输入设备和所述显示器一起运行时,还用于:

当检测到参与者断开连接时,如果参与者处于游戏进行中,则检测参与者断开连接的时长,如果断开时长达到预定的时长时,则生成参与者看牌指令,或者生成参与者弃牌指令。

本申请实施例的第二方面提供了一种能够使参与者进行游戏的系统,所述系统包括:

服务器;

客户端,其可以通过socket套接字的接口通信协议,与服务端建立连接和进行数据交换;并且

所述服务器能够与所述客户端设备一起运行,以:

服务器向客户端设备发送底牌和公共纸牌的数据;

客户端设备接收服务器发送的底牌和公共纸牌的数据,并根据参与者信息,在所述客户端设备显示公共纸牌内容,以及参与者对应的底牌内容;

服务器根据各个参与者的客户端设备的底牌与公共纸牌构成纸牌集合,比较多个所述纸牌集合中单张的牌面数值,以及两张牌面的数值之和,为预定值的组合数;

1)、按序统计底牌中单张牌的数值是否为预定值,如果是,则计数器加1,如果不是预定值且为有效牌(j,q,k为无效牌),则与其它底牌中的任意一张进行组合,判断组合的数值是否为预定值,如果是,则计数器加1,直到统计至最后一张底牌;

2)、按序逐个判断公共牌中单张纸牌是否为预定值,如果是则计数器继续加1,直至统计至最后一张公共牌;

3)、按序取一张底牌,如果底牌小于预定值且属于有效牌,与公牌中依次组合,如果组合的数值为预定值,则计数器加1,直到最后一张底牌与公共牌的最后一张组合完毕,得到计数器的数值即为求“预定值”数;

所述服务器根据所述组合数的比较结果确定游戏结果。

结合第二方面,在第二方面的第一种可能实现方式中,所述网络是因特网。

本申请实施例与现有技术相比存在的有益效果是:通过向多个参与者发放多个参与者各自可见内容的底牌,以及发放每个参与者可见内容的公共纸牌,客户端设备可以根据参与者的底牌和公共纸牌构成纸牌集合,计算其中包括的数值为预定值,以及两张纸牌的数值之和为预定值的组合数,并将计算结果发送至服务器,以使得服务器可以根据计算结果直接确定游戏结果,大大的减少了服务器对于大量参与者的纸牌集合中的排列组合的计算量,从而有利于降低服务器资源的消耗量,提高游戏运行的流畅性。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1是用户进入房间后选择开始后的界面示意图;

图2是本申请实施例提供的一种能够使参与者进行游戏的方法的实现流程示意图;

图3是本申请实施例提供的游戏界面中底牌显示示意图;

图4是本申请实施例提供的游戏界面中显示加倍示意图;

图5为本申请实施例提供的游戏界面中显示的补充分值提示界面示意图;

图6为本申请实施例提供的公共纸牌显示界面示意图;

图7为本申请实施例提供的一种能够使参与者进行游戏的设备的示意图。

具体实施方式

以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。

为了说明本申请所述的技术方案,下面通过具体实施例来进行说明。

一种能够使参与者进行游戏的系统,其特征在于,所述系统包括:

服务器;

客户端,可以通过socket套接字的接口通信协议,与服务端建立连接和进行数据交换。所述客户端与服务器建立连接的过程可以包括如下三个步骤:

服务器监听:服务端套接字并不定位具体的客户端套接字,而是处于等待连接的状态,实时监控网络状态。

客户端请求:由客户端的套接字提出连接请求,所述连接请求中包括所需要连接的目标服务器的套接字。为此,客户端的套接字必须首先描述它要连接的服务器的套接字,指出服务器端套接字的地址和端口号,然后就向服务器端套接字提出连接请求。

连接确认:是指当服务器端套接字监听或者接收客户端套接字的连接请求,响应客户端套接字的请求,建立一个新的线程,把服务端套接字的描述发给客户端,如果客户端确认所述套接字的描述,则连接建立完成。并且服务器端套接字继续处于监听状态,继续接收其它客户端套接字的连接请求。并且所述服务器能够与所述客户端一起运行。

1、当用户打开本申请所述客户端里的应用程序时,在应用程序启动完成后,会显示该应用程序对应的玩法介绍和游戏界面,用户可以选择打开具体的介绍说明,或者选择关闭该介绍说明,显示应用程序中的房间选择界面;

客户端游戏界面显示为一个台面,台面有至少两个最多六个玩家游戏区,一个奖池区,一个公共牌区,一个发牌区。每个玩家游戏区有一名游戏参与者,其中一位游戏参与者为庄家。发牌区有一个发牌装置,发牌装置会给每一位游戏参与者发牌,发牌的顺序为由庄家的顺时针顺序的下一位开始。至少有两个边;沿着台面的其中一边设计有两个至六个指定给玩家的游戏区;沿着台面的另一边设计一个发牌装置,发牌器会按照游戏规则给游戏参与者发牌至游戏区;发牌器会按照游戏规则发牌至公共牌区。

台面具有一个奖池区,参与游戏者可在这里按顺时针顺序将注押在奖池区,获胜的参与游戏者可赢得奖池区的所有注。

获胜游戏参与者持有的底牌与公共牌组合后所获得的预定值,比如预定值可以为“10”,为“10”的数量在所有游戏参与者中最多。

客户端游戏玩法介绍显示为一般使用一副不包括两张王牌的扑克,共52张牌,预定值可以为10,每个人发放3张底牌,依次发放5张公共纸牌。其中,a-10分别代表数字1-10,4张10不可与其它纸牌相加,一张10代表一个10,j,q,k为废牌,不代表任何数字,不可与其它牌相加,大小顺序:10>9>8>7>6>5>4>3>2>1。

2、用户可以在房间选择界面中选择所需要进入的房间,通过逐级显示的方式,可以由用户逐级选择,快速的找到所需要进行的房间;

3、用户选择所要进入的房间后,系统会根据进入房间的顺序,定义当前房间的庄家,根据用户对应的角色所在的位置,确定发言人以及发言人的顺序。一般情况下,最先进入房间的用户为庄家,庄家下一人为发言人,根据顺时针预定的顺序,从庄家下一人开始进行发言;

本申请实施例中所述的多个参与者,可以包括庄家和普通参与者。其中,所述庄家可以为游戏房间最先坐下,或者最先发送准备指令的参与者为第一个庄家,后进入房间的参与者在第一局时不可作为庄家。

4、在房间中所有的用户选择开始后,从每个参与者的分值会扣除该房间所对应的首分,并将每个参与者扣除的首分加入到总分中。即用于比赛的基础分。比如图1所示,当前房间定义的首分为25分,那么,在所有用户选择开始时,会从每个用户的账户中扣除25分。当然,不同的房间对应的首分可能也不相同;

另外,如图1所示,每个参与者在进入房间时,包括参与者的分值,比如图1中参与者的分值分别为850和3502。所述分值可以为参与者通过兑换的方式获取。在游戏正式开始,比如发牌前,从每个参与者的分值扣去首分,并将每个参与者扣除的首分加入到总分中。

5、在扣除首分后,系统会从发言人开始发第一张底牌,根据顺时针预定的顺序,通过发底牌三圈的方式将三张牌发送到用户对应的角色手中;

其中,实现使参与者进行游戏的方法,包括如图2所示的步骤s201-s205,具体为:

在步骤s201中,向多个参与者对应的图标位置发放多个参与者各自可见内容的底牌;

所述底牌用于发放给各个参与者,当所述参与者为客户端设备时,可以通过网络,比如internet网络,将底牌数据发送给参与者所在的客户端设备,参与者可以通过客户端设备的显示屏幕查看到底牌内容。比如图3所的游戏界面示意图中,在游戏房间中,总共可以包括6个参与者。每个参与者可以在客户端设备的显示屏界面的左下角查看本人的底牌内容,比如图3中为“a、5、9”;

6、用户在获取三张底牌的内容后,可以由用户根据牌面内容进行计算,确定当前手中存在的“10”的数量,当然,也可以由系统自动计算当前用户手中“10”的数量。其中,10可以由单张牌构成,也可以由两张牌构成;

在计算所述和值为预定值(10)的数量时,可以包括如下步骤:

1)、按序统计底牌中单张牌的数值是否为预定值,如果是,则计数器加1,如果不是预定值且为有效牌(j,q,k为无效牌),则与其它底牌中的任意一张进行组合,判断组合的数值是否为预定值,如果是,则计数器加1,直到统计至最后一张底牌;

2)、按序逐个判断公共牌中单张纸牌是否为预定值,如果是则计数器继续加1,直至统计至最后一张公共牌;

3)、按序取一张底牌,如果底牌小于10且属于有效牌,与公牌中依次组合,如果组合的数值为预定值,则计数器加1,直到最后一张底牌与公共牌的最后一张组合完毕,得到计数器的数值即为求“10”数。

7、在计算出手中目前的“10”的数量后,按照顺时针预定的位置顺序,由之前确定的发言人进行发言,发言的内容可以包括“加倍”、“过”、“放弃”“全下”指令内容;发言人下家进行发方言发言的内容可以包括“加倍”、“过”、“跟”、“跟任何倍”、“放弃”“全下”指令内容,叫分的分值为基础分的整数倍。并且在后叫分的参与者所叫的分值,一般不得小于在先叫分的参与者所叫的分值。

发言的内容可以包括“加倍”、“过”、“跟”、“放弃”、“跟任何倍”、“全下”指令内容;

跟:参与者在上家叫分后,自己的叫分与场上最大叫分相同。

放弃:放弃本局,之前叫分的计分牌将不能收回。

加倍:在场上最大叫分的基础上再增加叫分的计分牌数量。

过:不叫分,相当于叫分为0,也不放弃。

全下:也即全部跟,参与者将身上所有的计分牌全部下出为全下。

跟任何倍:不管上家加了多少倍,轮到自己操作的时候系统都会帮自己自动跟同样的倍数,但是当自己的计分牌不够跟任何倍的时候,系统不会帮助自己操作。次预操作会无效。

如图4所示,当参与者点击加倍后点击加倍后出现加倍快捷键“2倍”、“3倍“、“5倍”和刻度条。不移动刻度条默认加1倍。加倍按钮更换为确认按钮。选中2倍、3倍、5倍、全下、移动或不移动刻度条后,点击确认进行加倍。

一般的,在后的参与者的跟分值大于或等于在前的参与者所输入的跟分值,比如可以等于在前的跟分值的最大值,或者为在前的跟分值的最大值加上基础分值的整数倍。如果在后的跟分者小于在前参与者跟分值的最大值,则可以选择放弃,或者全下操作。

当参与者全下时,可以包括两种情况:

1.当参与者需要跟的叫分大于或者等于自己的计分牌时,此时参与者只能选择全下或放弃。

2.参与者加倍时将身上所有的计分牌下出。

当参与者的分值不足以加倍时,则叫分按钮变成全下按钮。

参与者可以选择自动进行下一轮预操作,并且在预操作生效前,取消所选择的自动预操作。

另外,如图所示,当参与者的分值为0时,可以自动弹出计分补充窗口,或者参与者点击预定的补充分值按钮时,可以弹出补充分值的窗口。从而可以方便参与者进行分值补充操作。

另外,在本申请中,参与者手中的分值使用完毕后,如图5所示,还可以通过发送补充分值的提示窗口的方式,方便参与者对分值进行补充。

另外,当参与者跟分时需要加倍时,增加的分值是基础分的整数倍,比如:

有abcde共5个参与者,基础分为20。a叫分为20,b加倍,那么b的叫分最少为40,即加倍为1倍(跟20,加1倍基础分20);c加倍,那么c的叫分额最少为60(跟40,加1倍基础分20);d加倍,那么d的叫分额最少为80(跟60,加1倍基础分20);e加倍,那么e的叫分额最少为100(跟80,加1倍基础分20)。

又比如:有abcde共5个参与者,基础分为20。a叫分为20,b加3倍,那么b的叫分为80(跟20,加3倍基础分60);c加倍,那么c的叫分额最少为100(跟80,加1倍基础分20);d加倍,那么d的叫分额最少为120(跟100,加1倍基础分20);e加倍,那么e的叫分额最少为140(跟120,加1倍基础分20).

当参与者选择加倍,但携带的计分牌大于所跟的分,小于最少叫分时,选择加倍只能全下。

举例:接着举例2进行叫分,此时a的计分牌量为145,若a选择加倍,叫分额最少为160(跟140,加1倍基础分20)。但由于计分牌量不够,a只能选择全下,增加的叫分为5,小于最低加倍需要的增加的叫分20。此时b的计分牌数量为150,b选择全下,增加的叫分为10,小于最低加倍额20。c可以选择跟150或者最低加倍到160。

在每一轮叫分过程中,参与者可以根据参与者实际的分值进行叫分,可以包括:

每个参与者叫分时间为预定时长,比如可以为15秒(时间可配置),当轮到参与者自己叫分时参与者才能选择放弃、跟或加倍。一轮里有参与者全下后,需要根据赛场上情况来决定是否进入下一轮或开牌:

当一轮叫分完所有参与者都全下了,则不进入下一轮叫分,直接开牌结算,即对总分进行分配。

当一轮叫分完,只有一个参与者还有计分牌,其他参与者都全下了,则不进入下一轮叫分,直接开牌结算,即对总分进行分配。

当一轮叫分完有参与者全下并且有两个以上的参与者还有计分牌,若这轮不是最后一轮,则此时他们进入下一轮叫分,若是最后一轮则开牌结算。

在每一轮叫分时需要看下前一轮是否有全下参与者,如果本轮叫分完后只有1个参与者了,其他参与者都放弃了,则没有放弃参的与者直接开牌结算。

比如叫分的过程可以包括:

第一轮叫分可以从发言人顺时针轮流叫分,发言人参与者可以选择叫分、过或放弃,后面的参与者根据前面参与者的叫分来进行相应的跟、加倍、过、放弃,当所有参与者都行动过并且叫分一样时翻开2张公共牌进入第二轮叫分。

8、当用户完成一圈的发言后,根据发言内容所达成的协议,可以确定下一轮继续参与发言的用户,以及当前盘面上的公共筹码的数量;

在步骤s102中,向公共位置逐个发放多个参与者均可见内容的公共纸牌;

比如图6中的公共纸牌的内容为“7、q、8、j、q”。

所述公共纸牌的内容对于每个参与者是可见的。所述公共纸牌可以为五张,所述公共纸牌的发放方式,可以逐张发放的方式完成,也可以第一次发放两张,第二次发放第三张,第三次发放第四张,第四次发放第五张。

由于公共纸牌为逐个发放,因此,在每进行一次公共纸牌的发放,都会形成一个新的纸牌集合,所述新的纸牌集合会产生一个或者多个不同的计算组合,从而会影响参与者的计算结果,因此,在每一次公共纸牌发放过程中,需要参与者保持高度的关注和注意,根据公共纸牌的内容,结合底牌进行数据计算。

9、发送两张公共牌,各个用户可以将手中的底牌与两张公共牌进行结合,产生新的计算结果。

10、根据两张公共牌,以及用户手中处于仅用户可见的底牌,可以生成之前一张底牌时的不同的算“10”结果,用户可以在第二张公共牌发放后,对自己手中的“10”的数量重新计算;

比如,当公共纸牌为红桃a、方块a,底牌为方块9、黑桃9和红桃9,那么预设值为10的组合数为6个。

11、用户根据自己的计算结果,可以估计当前结果处于领先的可能性,从而根据发言人顺序,开始新的一轮发言;

12、根据用户的发言指令所达成的协议,确定下一轮继续参与发言的用户,以及确定当前盘面上的公共筹码的数量;

第二轮叫分从发言人顺时针轮流叫分,发言人参与者可以选择叫分、过或放弃,后面参与者根据前面参与者的叫分来进行相应的跟、加倍、过、放弃,当所有参与者都行动过并且叫分一样时翻开第3张公共牌进入第三轮叫分。

13、发送第三张公共牌,通过第三张公共牌,各个用户可以将手中的底牌与第三张公共牌进行结合,产生新的计算结果;

14、根据第三张公共牌,以及用户手中处于仅用户可见的底牌,可以生成之前一张底牌时的不同的算“10”结果,用户可以在第三张公共牌发放后,对自己手中的“10”的数量重新计算;

比如,当公共纸牌为红桃a、方块a、梅花a,底牌为方块9、黑桃9和红桃9,那么预设值为10的组合数为9个。

15、用户根据自己的计算结果,可以估计当前结果处于领先的可能性,从而根据发言人顺序,开始新的一轮发言;

16、根据用户的发言指令所达成的协议,确定下一轮继续参与发言的用户,以及确定当前盘面上的公共筹码的数量;

第三轮叫分从发言人顺时针轮流叫分,发言人可以选择叫分、过或放弃,后面参与者根据前面参与者的叫分来进行相应的跟、加倍、过、放弃,当所有参与者都行动过并且叫分一样时翻开第4张公共牌进入第四轮叫分。

17、发送第四张公共牌,通过第四张公共牌,各个用户可以将手中的底牌与第四张公共牌进行结合,产生新的计算结果;

18、根据第四张公共牌,以及用户手中处于仅用户可见的底牌,可以生成之前一张底牌时的不同的算“10”结果,用户可以在第四张公共牌发放后,对自己手中的“10”的数量重新计算;

比如,当公共纸牌为红桃a、方块a、梅花a,黑桃a,底牌为方块9、黑桃9和红桃9,那么预设值为10的组合数为12个。

19、用户根据自己的计算结果,可以估计当前结果处于领先的可能性,从而根据发言人顺序,开始新的一轮发言;

20、根据用户的发言指令所达成的协议,确定下一轮继续参与发言的用户,以及确定当前盘面上的公共筹码的数量;

第四轮叫分从发言人顺时针轮流叫分,发言人可以选择叫分、过或放弃,后面参与者根据前面参与者的叫分来进行相应的跟、加倍、过、放弃,当所有参与者都行动过并且叫分一样时翻开第4张公共牌进入第五轮叫分。

21、发送第五张公共牌,通过第五张公共牌,各个用户可以将手中的底牌与第五张公共牌进行结合,产生新的计算结果;

22、根据第五张公共牌,以及用户手中处于仅用户可见的底牌,可以生成之前一张底牌时的不同的算“10”结果,用户可以在第五张公共牌发放后,对自己手中的“10”的数量重新计算;

客户端在接收到服务器发送的底牌和公共纸牌后,可以对客户端设备所对应的参与者的底牌和公共纸牌的集合中的纸牌进行求和运算,从而得到满足要求的组合数。

在步骤s103中,接收客户端发送的组合数,所述组合数由客户端根据所述公共纸牌以及单个参与者的底牌构成纸牌集合,比较多个所述纸牌集合中单张的牌面数值,以及两张牌面的数值之和,为预定值的组合数;

其中,客户端得到所述组合数时,可以首先确定单个纸牌的内容符合预定值的数量,然后计算所述纸牌集合中,两张张纸牌的全部组合结果,判断组合结果为预定值的数量,然后将两和纸牌满足预定值的数量,以及单张纸牌满足预定值的数量求和,得到所要求的组合数。

在计算所述和值为预定值的数量时,可以包括如下步骤:

1)、按序统计底牌中单张牌的数值是否为预定值,如果是,则计数器加1,如果不是预定值且为有效牌(j,q,k为无效牌),则与其它底牌中的任意一张进行组合,判断组合的数值是否为预定值,如果是,则计数器加1,直到统计至最后一张底牌;

2)、按序逐个判断公共牌中单张纸牌是否为预定值,如果是则计数器继续加1,直至统计至最后一张公共牌;

3)、按序取一张底牌,如果底牌小于10且属于有效牌,与公牌中依次组合,如果组合的数值为预定值,则计数器加1,直到最后一张底牌与公共牌的最后一张组合完毕,得到计数器的数值即为求“10”数。

比如,当公共纸牌为红桃a、方块a、梅花a,黑桃a,梅花10,底牌为方块9、黑桃9和红桃9,那么预设值为10的组合数为13个。

比如,当公共纸牌为2、3、10、q、k时,如果底牌为7、10、j,那么预设值为10的组合数为3个,分别为公共纸牌10、底牌10、以及公共纸牌3和底牌7的组合。

比如,当公共纸牌为2、3、10、q、k时,如果底牌为7、8、k,那么预设值为10的组合数为3个,分别为公共牌10、底牌8和公共纸牌2的组合、以及公共纸牌3和底牌7的组合。

比如,当公共纸牌为2、3、10、q、k时,如果底牌为红桃2、方块2、8,那么预设值为10的组合数为4个,分别为公共牌10、底牌红桃2与底牌8的组、公共纸牌2和底牌8的组合、以及底牌方块2与底牌8的组合。

比如,当公共纸牌为2、3、10、q、k时,如果底牌方块5、梅花5和黑桃5,那么预设值为10的组合数为4个,分别为公共牌10、底牌方块5与底牌梅花5的组、底牌方块5和底牌黑桃5的组合、以及底牌梅花5与底牌黑桃5的组合。

23、用户根据自己的计算结果,可以估计当前结果处于领先的可能性,从而根据发言人顺序,开始新的一轮发言,并根据用户的发言指令所达成的协议,确定当前是否进行比较,查看本轮的胜负,或者选择当前托管;

24、如果用户断线或者用户超过一定时间未操作,可以将用户的状态设置为托管状态,自动托管的权限,完成在权限内的相应操作。其中,当客户端处于断线状态时,可以由客户端按照预定时间隔向服务器发送探测包,并且客户端启动一个超时定时器,服务器在接收到探测包时,会响应一个应答包,如果客户端能够接收到所述应答包,则说明服务器正常,可以删除定时器的计算;如果客户端超时没有接收到应答包,并且计时器大于一定时长,则说明连接异常,重新启动socket的重连机制,可以根据返回的ip和port端口列表,获取下一个ip和端口付交通费重连;

在步骤s104中,根据所述组合数的比较结果确定游戏结果。

25、用户选择进行比较指令,系统对用户手中底牌与公共牌的结合,进行“10”的数量的计算并进行总分求和。

根据用户的发言指令所达成的协议,确定当前盘面上的公共筹码的数量。

第五轮叫分从发言人顺时针轮流叫分,发言人可以选择叫分、过或放弃,后面参与者根据前面参与者的叫分来进行相应的跟、加倍、过、放弃,当所有参与者都行动过并且叫分一样时亮出底牌比大小结算。

26、根据计算的结果,得到用户各自的“10”的数量,

确定游戏结果的获胜参与者的方式还可以包括:

最后没有放弃的一个参与者;

或者最后多个参与者中的组合数最多的一个参与者;

或者最后多个参与者中的组合数相同,但底牌的点数最大的参与者;

或者最后多个参与者中的组合数相同,且底牌的最大点数相同的多个参与者。

在确定了游戏结果的获胜参与者后,可以根据和参与者对所有参与者投入的分值总和进行分配,具体分配方式可以包括:

当所有参与者没有选择跟参与者的全部分值时,将总的分值分配给比较结果的获胜参与者;

当有参与者选择跟进其全部分值时,若选择跟进全部分值的参与者获胜,则将跟进将全部跟进的分值对应的附分,分配至所述跟进全部分值的获胜参与者,将其它分值的主分,分配给没有全部跟进的其它参与者中的获胜参与者,或不是选择跟进全部分值的参与者获胜,则将总的分值分配给获胜参与者。

其中,附分是指参与者叫分,且超出全下时的分值的部分称为附分,主分是全部参与者叫分的总分。

比如:

有3个参与者abc,a有1000计分牌,b有2000计分牌,c有3000计分牌,a先全下,叫分1000计分牌,然后b也全下,叫分2000计分牌,c跟b,叫分2000计分牌,此时主分为3*1000=3000(a计分牌最小,乘以人数3个),abc都有参与,附分是(2000-1000)*2=2000,bc参与,如果a牌型最大,a参与过的总分是主分,所以拿走3000的主分,如果b牌型最大,b参与过的总分是主分和附分,所以拿走5000的主分和附分,同样,如果c牌型最大,c参与过的总分是主分和附分,拿走5000的主分和附分。

在本申请中,还可以通过逐帧动画的形式,播放用户在场景中的下注等动作效果,使得动画更加细腻,效果更加逼真。所播放的逐帧动画,可以通过以下方式创建:

(1)用导入的静态图片建立逐帧动画

将jpg、png等格式的静态图片连续导入flash中,通过flash软件建立一段逐帧动画;

(2)绘制矢量逐帧动画

可以使用鼠标或压感笔,在场景中一帧帧的画出帧内容,通过播放所绘制的帧内容生成逐帧动画;

(3)文字逐帧动画

可以通过文字制作帧中的元件,实现文字跳跃、旋转等特效。

(4)导入序列图像

可以导入gif序列图像、swf动画文件或者利用第3方软件(如swish、swift3d等)产生的动画序列。

当然,作为本申请可选的一种实施方式中,还可以接收参与者发送的客户端设备性能参数的数据,根据所述客户端设备性能参数的数据,将一个或者多个参与者的组合数的计算任务,分配至剩余资源较多的其中一个或者多个客户端设备,从而使得游戏整体更为顺畅。

比如参与者包括a、b、c、d、e、f六人,根据客户端设备上传的性能参数,参与者a所使用的客户端设备的性能最佳,可以将其它参与者的底牌数据加密发送至参与者a所在的客户端设备,由客户端设备对其进行解密计算后,加密返回至服务器,从而使得游戏整体流畅性更佳。在客户端计算得到组合数后,可以根据客户端只需要进行本地的纸牌组合进行计算的特点,高效快速的计算得到组合数,或者客户端只需要计算同一游戏房间的参与者的组合数结果,计算效率非常高,从而能够使得同一游戏房间的多个参与者能够更为顺畅的进行游戏。

在服务器接收到客户端计算的组合数后,可以直接根据组合数确定游戏结果的获胜参与者。

本申请利用了插入排序算法和遍历相加算法来处理牌数据,提高了计算效率高而快、稳定,更提供了一种游戏的新玩法。

作为本申请可选的一种实施方式中,还可以接收参与者发送的客户端设备性能参数的数据,根据所述客户端设备性能参数的数据,将一个或者多个参与者的组合数的计算任务,分配至剩余资源较多的其中一个或者多个客户端设备,从而使得游戏整体更为顺畅。

比如参与者包括a、b、c、d、e、f六人,根据客户端设备上传的性能参数,参与者a所使用的客户端设备的性能最佳,可以将其它参与者的底牌数据加密发送至参与者a所在的客户端设备,由客户端设备对其进行解密计算后,加密返回至服务器,从而使得游戏整体流畅性更佳。

应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。

图7是本申请一实施例提供的能够使参与者进行游戏的设备的示意图。如图7所示,该实施例的能够使参与者进行游戏的设备7包括:处理器70、存储器71以及存储在所述存储器71中并可在所述处理器70上运行的计算机程序72,例如能够使参与者进行游戏的程序。所述处理器70执行所述计算机程序72时实现上述各个能够使参与者进行游戏的方法实施例中的步骤,例如图2所示的步骤201至204。或者,所述处理器70执行所述计算机程序72时实现上述各装置实施例中各模块/单元的功能,例如图5所示模块501至503的功能。

示例性的,所述计算机程序72可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器71中,并由所述处理器70执行,以完成本申请。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序72在所述能够使参与者进行游戏的设备7中的执行过程,可以包括:

向多个参与者对应的图标位置发放多个参与者各自可见内容的底牌;

向公共位置逐个发放多个参与者均可见内容的公共纸牌;

接收客户端设备发送的组合数,所述组合数由客户端根据所述公共纸牌以及单个参与者的底牌构成纸牌集合,比较多个所述纸牌集合中单张的牌面数值,以及两张牌面的数值之和,为预定值的组合数;

根据所述组合数的比较结果确定游戏结果。

所述能够使参与者进行游戏的设备7可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述能够使参与者进行游戏的设备可包括,但不仅限于,处理器70、存储器71、显示器72和输入设备73。本领域技术人员可以理解,图7仅仅是能够使参与者进行游戏的设备7的示例,并不构成对能够使参与者进行游戏的设备7的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述能够使参与者进行游戏的设备还可以包括输入输出设备、网络接入设备、总线等。

所称处理器70可以是中央处理单元(centralprocessingunit,cpu),还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是处理器或者该处理器也可以是任何常规的处理器等。

所述存储器71可以是所述能够使参与者进行游戏的设备7的内部存储单元,例如能够使参与者进行游戏的设备7的硬盘或内存。所述存储器71也可以是所述能够使参与者进行游戏的设备7的外部存储设备,例如所述能够使参与者进行游戏的设备7上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。进一步地,所述存储器71还可以既包括所述能够使参与者进行游戏的设备7的内部存储单元也包括外部存储设备。所述存储器71用于存储所述计算机程序以及所述能够使参与者进行游戏的设备所需的其他程序和数据。所述存储器71还可以用于暂时地存储已经输出或者将要输出的数据。

所述输入设备73包括但不限于触摸屏、鼠标、键盘中的一项或者多项。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

在本申请所提供的实施例中,应该理解到,所揭露的装置/终端设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/终端设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括是电载波信号和电信信号。

以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1