一种命中判定方法、系统、装置和存储介质与流程

文档序号:16787534发布日期:2019-02-01 19:28阅读:176来源:国知局
一种命中判定方法、系统、装置和存储介质与流程

本发明涉及数据处理技术,尤其是一种命中判定方法、系统、装置和存储介质。



背景技术:

随着经济社会的发展,人们更加注重生活品质。在当今社会,人们在休息时间的休闲娱乐方式逐渐多样化,而其中游戏是人们休闲娱乐的一个重要的途径。

对于手机游戏而言,休闲娱乐类的游戏由于其游戏难度低,对于用户而言门槛较低,因此在人们中受到了热烈的追捧。其中较为有名的是捕鱼游戏和挖金矿游戏等等。这些游戏一般都是玩家向游戏的得分目标发射如渔网或者钩子之类的道具,然后获取如鱼和黄金等等的得分目标。

而目前这些游戏其判定道具有没有命中得分目标的处理过程均设置在客户端。有部分作弊玩家,可以通过篡改内存等方式对本地的命中结果进行篡改,破坏了游戏的公平性,给游戏的运营方和其他玩家带来不良的影响。



技术实现要素:

为解决上述技术问题,本发明的目的在于:提供一种能够防止作弊的命中判定方法、系统、装置和存储介质。

本发明所采取的第一种技术方案是:

一种命中判定方法,用于服务器,包括以下步骤:

接收客户端发送的碰撞信息;

生成一个大小属于设定范围的随机数;

根据碰撞信息和随机数,得到命中判定结果;

将命中判定结果发送至客户端。

进一步,所述根据碰撞信息和随机数,得到命中判定结果,其具体包括:

根据碰撞信息,分别获取在客户端发生的碰撞事件中的两个碰撞对象的类型;

根据两个碰撞对象的类型计算判定阈值;

根据判定阈值和随机数,得到命中判定结果。

进一步,所述根据判定阈值和随机数,得到命中判定结果,其具体为:

判断随机数是否小于等于判定阈值,若是,则判定为命中;反之,则判定为不命中。进一步,所述根据两个碰撞对象的类型计算判定阈值,其具体包括:

根据两个碰撞对象的类型进行查表,分别得到两个碰撞对象的命中系数;

将两个碰撞对象的命中系数相乘,得到判定阈值。

进一步,所述服务器与客户端之间通过socket进行通信。

本发明所采取的第二种技术方案是:

一种命中判定方法,用于客户端,包括以下步骤:

检测碰撞事件;

在碰撞事件发生后,获取碰撞事件中的两个碰撞对象的类型;

根据两个碰撞对象的类型,生成碰撞信息;

将碰撞信息发送至服务器,并等待接收服务器返回的命中判定结果。

进一步,所述服务器与客户端之间通过socket进行通信。

本发明所采取的第三种技术方案是:

一种命中判定系统,包括客户端和服务器;

所述客户端包括:

检测单元,用于检测碰撞事件;

获取单元,用于在碰撞事件发生后,获取碰撞事件中的两个碰撞对象的类型;第一生成单元,用于根据两个碰撞对象的类型,生成碰撞信息;

第一发送单元,用于将碰撞信息发送至服务器;

第一接收单元,用于接收服务器返回的命中判定结果;

所述服务器包括:

第二接收单元,用于接收客户端发送的碰撞信息;

第二生成单元,用于生成一个大小属于设定范围的随机数;

判定单元,用于根据碰撞信息和随机数,得到命中判定结果;

第二发送单元,用于将命中判定结果发送至客户端;

所述客户端与服务器通信连接。

本发明所采取的第四种技术方案是:

一种命中判定装置,包括:

存储器,用于存储程序;

处理器,用于加载所述程序以执行一种命中判定方法。

本发明所采取的第五种技术方案是:

一种存储介质,所述存储介质上存储有程序,所述程序被处理器执行时实现一种命中判定方法。

本发明的有益效果是:本发明将命中判断逻辑设置在服务器端,使得作弊玩家无法通过采用在本地篡改内存等方式进行作弊,提升了游戏的公平性,保证了游戏运营方和其他玩家的利益。

附图说明

图1为本发明第一种具体实施例的命中判定方法的流程图;

图2为本发明第二种具体实施例的命中判定方法的流程图。

具体实施方式

下面结合说明书附图和具体的实施例对本发明进行进一步的说明。

参照图1,一种命中判定方法,用于服务器,包括以下步骤:

s11、接收客户端发送的碰撞信息;本实施例中的碰撞信息是指在客户端中发生如道具与得分目标产生碰撞这样的碰撞事件时,客户端向服务器发送的信息。例如在捕鱼游戏中,玩家发射的渔网碰撞到水里面的鱼,此时,客户端会产生一个碰撞信息。

s12、生成一个大小属于设定范围的随机数;在本步骤中,我们可以产生一个0~1之间的随机数。

s13、根据碰撞信息和随机数,得到命中判定结果;在本步骤中,我们可以根据碰撞信息去确定一个判定阈值,然后根据随机数和判定阈值之间的大小关系来判定是否命中目标。例如,在捕鱼游戏中,我们可以根据碰撞信息里面碰撞双方的类型,得到判定阈值。判定阈值的获得可以有多种方式,下面举其中的三种。

第一种:设定鱼的种类有大鱼、中鱼和小鱼,其分别的命中系数为0.1、0.2和0.3。我们可以直接把各种鱼的命中系数作为判定阈值,比较随机数和判定阈值的大小,如果随机数小于等于判定阈值,则判定为命中,这样就可以根据不同鱼的类型设置不同的命中系数。在本实施例中,小鱼的命中概率为30%,而大鱼的命中概率为10%。

第二种:设定鱼的种类与是否命中概率没有关系,而游戏中用户使用的道具对命中概率有影响。例如,用户使用的道具种类有大网、中网和小网,其分别的命中系数为0.3、0.2和0.1。我们可以直接把各道具的命中系数作为判定阈值,如果随机数小于等于判定阈值,则判定为命中。这样可以根据不同道具的类型设置不同的命中系数。本实施例中,采用大网的命中概率为30%,采用小网的命中概率为10%。

第三种,设定鱼的种类和道具的种类均与命中有关系。例如,大网、中网和小网分别的命中系数为1.2、1.1和1.0,而大鱼、中鱼和小鱼的命中系数为0.1、0.2和0.3。所述判定阈值通过道具的命中系数乘以鱼的命中系数求得。例如,采用大网抓大鱼的情况,命中概率为1.2*0.1,命中概率为12%,而采用中网抓小鱼的情况,命中概率为1.1*0.3,命中概率约为33%。

s14、将命中判定结果发送至客户端。当客户端接收到命中判定结果后,会向用户显示提示信息。所述提示信息可以是文字、动画或者声音。例如在命中时,客户端显示特定的文字、动画或者播放特定的声音。

作为优选的实施例,所述步骤s13具体包括:

s131、根据碰撞信息,分别获取在客户端发生的碰撞事件中的两个碰撞对象的类型;在捕鱼游戏中,本步骤获取道具类型和鱼的类型,例如碰撞信息可以包括碰撞时间、鱼的类型以及道具类型;碰撞信息的数据格式可以是:“121212,01,02”,其中121212代表12时12分12秒,01代表大鱼,02代表中网。

s132、根据两个碰撞对象的类型计算判定阈值。

s133、根据判定阈值和随机数,得到命中判定结果。本步骤主要是比较判定阈值和随机数的大小。判定阈值主要用于控制命中概率,因此,设定随机数属于0~1之间,如果我们需要一个命中概率为30%的情况,我们可以设置判定阈值为0.7,凡是随机数大于0.7,均判定是命中。同样是30%的命中概率,我们可以设置判定阈值为0.3,凡是随机数小于0.3,均判定是命中。因此,只要根据碰撞对象的类型设置配置好判定阈值的计算方法,以及命中判定逻辑即可。

本实施例结合了多种因素的综合判断,能够提升判断复杂性,提升游戏的复杂度和趣味性。

作为优选的实施例,本实施例给出了优选的判断逻辑,所述步骤s133具体为:

判断随机数是否小于等于判定阈值,若是,则判定为命中;反之,则判定为不命中。

作为优选的实施例,本实施例给出了优选的判定阈值计算方法,所述步骤s132具体包括:

s1321、根据两个碰撞对象的类型进行查表,分别得到两个碰撞对象的命中系数;

s1322、将两个碰撞对象的命中系数相乘,得到判定阈值。

本实施例可以使命中概率多样化,提升游戏的复杂性和趣味。

作为优选的实施例,为了防止被抓包,本实施例采用更加安全的通信方式,所述服务器与客户端之间通过socket进行通信。

参照图2,一种命中判定方法,用于客户端,包括以下步骤:

s21、检测碰撞事件;所述碰撞时间,是指道具和得分目标之间发生碰撞。例如在捕鱼游戏中,道具是渔网,得分目标是鱼,当用于发射的网与鱼发生碰撞时,称作碰撞事件。

s22、在碰撞事件发生后,获取碰撞事件中的两个碰撞对象的类型。例如,在捕鱼游戏中,渔网的类型分为大网、中网和小网,鱼的类型分为大鱼、中鱼和小鱼。

s23、根据两个碰撞对象的类型,生成碰撞信息。所述碰撞信息可以包括碰撞时间、鱼的类型以及网的类型。

s24、将碰撞信息发送至服务器,并等待接收服务器返回的命中判定结果。在接收到服务器的命中判定结果后,可以向用户展示提示信息,所述提示信息可以是文字、动画或者声音。例如在命中时,客户端显示特定的文字、动画或者播放特定的声音。

作为优选的实施例,为了防止被抓包,本实施例采用更加安全的通信方式,所述服务器与客户端之间通过socket进行通信。

本实施例结合客户端和服务器两者的数据处理流程进行详细讲解。本实施例包括以下步骤:

s31、客户端检测碰撞事件;

s32、客户端在碰撞事件发生后,获取碰撞事件中的两个碰撞对象的类型;

s33、客户端根据两个碰撞对象的类型,生成碰撞信息;

s34、客户端将碰撞信息发送至服务器;

s35、服务器接收客户端发送的碰撞信息;

s36、服务器生成一个大小属于设定范围的随机数;

s37、服务器根据碰撞信息和随机数,得到命中判定结果;

s38、服务器将命中判定结果发送至客户端;

s39、客户端接收服务器返回的命中判定结果。

本实施例公开了一种命中判定系统,包括客户端和服务器;

所述客户端包括:

检测单元,用于检测碰撞事件;

获取单元,用于在碰撞事件发生后,获取碰撞事件中的两个碰撞对象的类型;

第一生成单元,用于根据两个碰撞对象的类型,生成碰撞信息;

第一发送单元,用于将碰撞信息发送至服务器;

第一接收单元,用于接收服务器返回的命中判定结果;

所述服务器包括:

第二接收单元,用于接收客户端发送的碰撞信息;

第二生成单元,用于生成一个大小属于设定范围的随机数;

判定单元,用于根据碰撞信息和随机数,得到命中判定结果;

第二发送单元,用于将命中判定结果发送至客户端;

所述客户端与服务器通信连接。

本实施例公开了一种命中判定装置,包括:

存储器,用于存储程序;

处理器,用于加载所述程序以执行一种如图1或者图2所示的命中判定方法。

本实施例公开了一种存储介质,所述存储介质上存储有程序,所述程序被处理器执行时实现一种如图1或者图2所示的命中判定方法。

对于上述方法实施例中的步骤编号,其仅为了便于阐述说明而设置,对步骤之间的顺序不做任何限定,实施例中的各步骤的执行顺序均可根据本领域技术人员的理解来进行适应性调整。

以上是对本发明的较佳实施进行了具体说明,但本发明并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做作出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。

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