用于确保游戏公平的方法、设备及存储介质

文档序号:1687959 发布日期:2020-01-03 浏览:39次 >En<

阅读说明:本技术 用于确保游戏公平的方法、设备及存储介质 (Method, apparatus and storage medium for ensuring game fairness ) 是由 袁兴强 王志文 吴思进 于 2019-08-08 设计创作,主要内容包括:本发明公开了用于确保游戏公平的方法、设备及存储介质,属于区块链技术领域。包括向开局后的第一游戏合约发送至少一笔第一游戏参与交易;接收第一游戏合约根据游戏规则反馈的所述第一游戏参与交易的游戏结果;其中,所述第一游戏参与交易包括由竞猜内容和押金构建成;第一游戏合约,用于接收至少一个玩家的至少一笔第一游戏参与交易;向至少一个玩家发送第一游戏合约根据游戏规则反馈的至少一笔第一游戏参与交易的游戏结果;第一游戏参与交易的押金从参与开局后的第一游戏合约的至少一个玩家地址初始余额中扣除并冻结。针对玩家可以利用这种输赢不对称的情况进行套利,破坏了游戏公平公正原则的技术问题,本发明使得游戏可以公平进行。(The invention discloses a method, equipment and a storage medium for ensuring game fairness, and belongs to the technical field of block chains. Sending at least one first game participation transaction to the first game contract after opening; receiving a game result of the first game participation transaction fed back by a first game contract according to game rules; wherein, the first game participation transaction comprises the constitution of guess content and deposit; a first game contract for receiving at least one first game participation transaction of at least one player; sending at least one game result of the first game participation transaction fed back by the first game contract according to the game rule to at least one player; a wager for a first game participation transaction is deducted from at least one player address initial balance of the first game contract after the opening and frozen. Aiming at the technical problems that the players can use the asymmetric win-lose condition to carry out arbitrage and destroy the fairness and justice principle of the game, the invention ensures that the game can be carried out fairly.)

用于确保游戏公平的方法、设备及存储介质

技术领域

本发明涉及区块链技术领域,尤其涉及用于确保游戏公平的方法、设备及存储介质。

背景技术

由于区块链数据公开透明、不可篡改的特性,使得一些基于区块链的游戏大受欢迎,如专利公布号为CN108447014A、CN109389399A和CN109741513A等中国发明专利申请,具体又可以分为玩家互相博弈类的游戏和玩家与对象A博弈类的游戏。对于玩家互相博弈类的游戏而言,所有玩家的押金构成奖池,赢的人瓜分奖池。对于包含对象A的游戏而言,奖池由对象A提供,玩家每次参与需要冻结一定的押金,赢了就解冻押金并按赔率获得奖励,输了则把押金划转到奖池。但对于玩家与对象A博弈类的游戏而言,玩家相对于对象A而言具有更多的灵活性,因此会存在一些套利的机会。

表1玩家利用输赢不对称的情况进行套利的表格展示

Figure RE-GDA0002283853380000011

以猜大小的游戏为例,每个区块会产生一个随机数,该随机数决定游戏结果——大或小,玩家可以猜大或者小。比如玩家游戏账户余额为10,这时候玩家连续参与3笔猜测内容相同的交易,每次的押金都是10,因为三笔猜测内容相同的交易会被打包到同一个区块中,因此随机数都一样,所以3笔猜测内容相同的交易执行的结果都一样——三笔交易玩家都赢或者都输,如表1所示。

1、赢的情况

第一笔交易冻结玩家的10个积分,或虚拟货币→玩家赢→押金解冻→玩家额外赢得10,玩家余额变成20→执行第二笔交易冻结10→玩家赢→押金解冻→玩家额外赢得10,玩家余额变成30...

容易推出,三笔交易执行完之后玩家余额变成了40个积分,或虚拟货币。

2、输的情况

第一笔交易冻结玩家的10个积分,或虚拟货币→玩家输→押金划转到奖池,玩家余额变成0→执行第二笔交易冻结10,或虚拟货币,余额不足失败→第三笔交易也失败。

可以看出,如果玩家输只会输一笔而玩家赢则可能赢多笔,玩家可以利用这种输赢不对称的情况进行套利,破坏了游戏公平公正的原则。

发明内容

1.发明要解决的技术问题

为了克服上述技术问题,本发明提供了用于确保游戏公平的方法、设备及存储介质,使得游戏可以公平进行。

2.技术方案

为解决上述问题,本发明提供的技术方案为:

第一方面,本发明提供了一种用于确保游戏公平的方法,适用于玩家终端,包括:向开局后的第一游戏合约发送至少一笔第一游戏参与交易;接收第一游戏合约根据游戏规则反馈的所述第一游戏参与交易的游戏结果;其中,所述第一游戏参与交易包括由竞猜内容和押金构建成;第一游戏合约,用于接收至少一个玩家的至少一笔第一游戏参与交易;向至少一个玩家发送第一游戏合约根据游戏规则反馈的至少一笔第一游戏参与交易的游戏结果;至少一笔第一游戏参与交易的押金从参与开局后的第一游戏合约的至少一个玩家地址初始余额中扣除并冻结。

进一步地改进,所述至少一笔第一游戏参与交易的押金从参与开局后的第一游戏合约的至少一个玩家地址初始余额中扣除并冻结,进一步地改进包括:第一游戏合约读取至少一个玩家的玩家地址初始余额缓存到第一游戏合约的本局玩家缓存余额内;从本局玩家缓存余额中冻结至少一笔第一游戏参与交易的押金。

进一步地改进,所述至少一笔第一游戏参与交易的押金从参与开局后的第一游戏合约的至少一个玩家地址初始余额中扣除并冻结,进一步地改进包括:在向开局后的第一游戏合约发送至少一笔第一游戏参与交易之前,从玩家地址余额中冻结每笔第一游戏参与交易的押金。

进一步地改进,包括:接收第一游戏合约反馈的所述至少一个玩家的至少一笔第一游戏参与交易的确认信息;审核所述确认信息正确与否;否,则结束;是,则接收第一游戏合约反馈的所述至少一个玩家的第一游戏参与交易的游戏结果;其中,所述第一游戏合约,还用于:发送所述至少一个玩家的至少一笔第一游戏参与交易的确认信息;接收审核所述确认信息正确与否的消息;否,则结束;是,则发送第一游戏合约根据游戏规则反馈的所述至少一个玩家的至少一笔第一游戏参与交易的游戏结果。

进一步地改进,所述游戏规则,用于从参与开局后的第一游戏合约的至少一个玩家地址初始余额中扣除并冻结第一游戏参与交易的押金;若本局玩家缓存余额不足,则对应的至少一个玩家的第一游戏参与交易执行失败;若本局玩家缓存余额充足,则对应的第一游戏参与交易执行成功。

进一步地改进,所述游戏结果,用于分配游戏奖励。

进一步地改进,包括:所述从本局玩家缓存余额中冻结至少一个玩家的至少一笔第一游戏参与交易的押金,若本局玩家缓存余额不足,则对应的第一游戏参与交易执行失败。

进一步地改进,所述确认信息,包括:至少一个玩家的第一游戏参与交易的竞猜内容、押金及其冻结成功与否的结果,和玩家地址余额、本局玩家缓存余额。

第二方面,本发明提供了一种用于确保游戏公平的方法,适用于区块链节点,包括:开局后的第一游戏合约接收至少一个玩家的至少一笔第一游戏参与交易;向至少一个玩家发送第一游戏合约根据游戏规则反馈的至少一笔第一游戏参与交易的游戏结果;其中,所述第一游戏参与交易包括由竞猜内容和押金构建成;所述玩家向开局后的第一游戏合约接收至少一个玩家的至少一笔第一游戏参与交易;接收第一游戏合约根据游戏规则反馈的至少一笔第一游戏参与交易的游戏结果;至少一笔第一游戏参与交易的押金从参与开局后的第一游戏合约的至少一个玩家地址初始余额中扣除并冻结。

进一步地改进,所述至少一笔第一游戏参与交易的押金从参与开局后的第一游戏合约的至少一个玩家地址初始余额中扣除并冻结,进一步地改进包括:第一游戏合约读取至少一个玩家的玩家地址初始余额缓存到第一游戏合约的本局玩家缓存余额内;从本局玩家缓存余额中冻结至少一笔第一游戏参与交易的押金。

进一步地改进,所述至少一笔第一游戏参与交易的押金从参与开局后的第一游戏合约的至少一个玩家地址初始余额中扣除并冻结,进一步地改进包括:在开局后的第一游戏合约接收至少一个玩家的至少一笔第一游戏参与交易之前,从玩家地址余额中冻结每笔第一游戏参与交易的押金。

进一步地改进,包括:第一游戏合约向玩家发送反馈的所述至少一个玩家的至少一笔第一游戏参与交易的确认信息;接收玩家审核所述确认信息正确与否的消息;否,则结束;是,则向玩家发送第一游戏合约反馈的所述至少一个玩家的第一游戏参与交易的游戏结果;其中,玩家接收所述至少一个玩家的至少一笔第一游戏参与交易的确认信息;审核所述确认信息正确与否;否,则结束;是,则接收第一游戏合约根据游戏规则反馈的所述至少一个玩家的至少一笔第一游戏参与交易的游戏结果。

进一步地改进,所述游戏规则,用于从参与开局后的第一游戏合约的至少一个玩家地址初始余额中扣除并冻结第一游戏参与交易的押金;若本局玩家缓存余额不足,则对应的至少一个玩家的第一游戏参与交易执行失败;若本局玩家缓存余额充足,则对应的第一游戏参与交易执行成功。

进一步地改进,所述游戏结果,用于分配游戏奖励。

进一步地改进,包括:所述从本局玩家缓存余额中冻结至少一个玩家的至少一笔第一游戏参与交易的押金,若本局玩家缓存余额不足,则对应的第一游戏参与交易执行失败。

进一步地改进,所述确认信息,包括:至少一个玩家的第一游戏参与交易的竞猜内容、押金及其冻结成功与否的结果,和玩家地址余额、本局玩家缓存余额。

第三方面,本发明提供了一种设备,所述设备包括:一个或多个处理器;存储器,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行如以上所述的方法。

第四方面,本发明提供了一种存储有计算机程序的存储介质,该程序被处理器执行时实现如以上任一项所述的方法。

3.有益效果

采用本发明提供的技术方案,与现有技术相比,具有如下有益效果:

本发明保证了玩家的游戏余额可以及时更新,同时避免了玩家利用前一笔交易赢的钱作为下一笔交易的押金,实现输赢不对等的套利。解决了玩家利用区块链的执行机制进行套利的问题,保证了输赢平衡,使得游戏可以公平进行。

本发明提出了一种防止用户套利的机制,不需要限制用户在同一个区块中的参与次数,每笔交易执行完都可以及时结算,保证效率的同时防止玩家套利。

附图说明

图1为本发明实施例1提供的一种用于确保游戏公平的方法的流程图。

图2为图2第一优选实施例提供的一种用于确保游戏公平的方法的流程图。

图3为图2第二优选实施例提供的一种用于确保游戏公平的方法的流程图。

图4为本发明实施例2提供的一种用于确保游戏公平的方法的流程图。

图5为本发明的一种设备结构示意图。

图6为图4第一优选实施例提供的一种用于确保游戏公平的方法的流程图。

图7为图4第二优选实施例提供的一种用于确保游戏公平的方法的流程图。

具体实施方式

为进一步了解本发明的内容,结合附图及实施例对本发明作详细描述。

下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与发明相关的部分。

本发明中所述的第一、第二等词语,是为了描述本发明的技术方案方便而设置,并没有特定的限定作用,均为泛指,对本发明的技术方案不构成限定作用。

需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。

实施例1

一种用于确保游戏公平的方法,适用于玩家终端,如图1所示,包括:

S101、向开局后的第一游戏合约发送至少一笔第一游戏参与交易;

S102、接收第一游戏合约根据游戏规则反馈的所述第一游戏参与交易的游戏结果;

其中,开局后的第一游戏合约,用于接收至少一个玩家的至少一笔第一游戏参与交易;向至少一个玩家发送第一游戏合约根据游戏规则反馈的至少一笔第一游戏参与交易的游戏结果。至少一笔第一游戏参与交易的押金从参与开局后的第一游戏合约的至少一个玩家地址初始余额中扣除并冻结,该部分内容可在由玩家在第一游戏参与交易创建时实现,也可以由第一游戏合约接收到第一游戏参与交易后实现;对于玩家在第一游戏参与交易创建时实现的情况,当第一游戏合约接收到第一游戏参与交易后,会根据玩家地址初始余额,第一游戏参与交易的数量和押金,进行再次核查验证,是否每笔第一游戏参与交易都可以执行成功,确保第一游戏参与交易的创建合法合规,从而利用区块链的去中心化的特点实现游戏的公平公正,防止玩家作弊。所述第一游戏参与交易包括但不限于由竞猜内容和押金构建成;进一步地,还包括第一游戏参与交易的创建时间、交易收发地址(对应为第一游戏合约地址、玩家地址)等。所述第一游戏参与交易最终的执行结果被分为两类:赢或输。所以,对于开局后的第一游戏合约,玩家可能发了一笔及以上的竞猜内容相同的第一游戏参与交易;也可能是发了一笔及以上的竞猜内容不同的第一游戏参与交易;这些均为本实施例的具体应用场景的选择,均不构成对本实施例技术方案的限制。

需要说明的是,开局后的第一游戏合约可以允许一个及以上的玩家参与,而每个参与的玩家,可以在一局游戏中发送一个及以上的第一游戏参与交易;而本实施例仅列举了一个玩家参与开局后的第一游戏合约的情形,其他玩家类似。

从参与开局后的第一游戏合约的至少一个玩家地址初始余额中扣除并冻结第一游戏参与交易的押金,通过这种冻结押金的方式以杜绝玩家在一局游戏中利用赢来的奖励进一步当作押金,反复套利的行为;确保游戏的公平性原则。玩家地址初始余额是指,第一游戏合约接收到同一个玩家发来的首笔第一游戏参与交易的交易发送地址的余额,其中,交易发送地址为玩家地址,第一游戏合约通过该玩家地址,直接读取区块链系统的默尔克状态数中该玩家地址对应的最新的状态信息,即包括了该玩家地址初始余额。

游戏规则包括押金冻结规则,奖励分配规则,违约规则,用于运算游戏结果的规则等。因此,用于从参与开局后的第一游戏合约的至少一个玩家地址初始余额中扣除并冻结第一游戏参与交易的押金;

若玩家地址初始余额不足,则说明玩家地址上押金不足,无法参与游戏,那么对应的玩家的所有第一游戏参与交易均执行失败,说明对应地第一游戏参与交易在玩家终端本地创建失败;也有可能出现以下情况:如押金为5,而玩家地址初始余额为10,玩家创建了3笔第一游戏参与交易,那么前两笔第一游戏参与交易创建成功,也会执行成功,但第3笔第一游戏参与交易会创建失败,执行失败,因玩家地址初始余额仅够前两笔第一游戏参与交易扣除并冻结押金,所以第三笔第一游戏参与交易余额不足,扣除失败,因此创建失败,执行失败。若玩家地址初始余额充足,则对应的第一游戏参与交易创建成功。所述游戏结果,用于奖励分配规则分配游戏奖励。

改进一、所述至少一笔第一游戏参与交易的押金从参与开局后的第一游戏合约的至少一个玩家地址初始余额中扣除并冻结,进一步地改进包括:

第一游戏合约读取至少一个玩家的玩家地址初始余额缓存到第一游戏合约的本局玩家缓存余额内;

从本局玩家缓存余额中冻结至少一笔第一游戏参与交易的押金。若本局玩家缓存余额不足,则对应的第一游戏参与交易执行失败。

比如第一游戏合约的游戏规则为:游戏押金为10,奖励规则是,若赢了,解冻押金10,奖励10;若输了,扣除押金10。

若玩家A地址初始余额为20,玩家A创建了3笔第一游戏参与交易,开局后的第一游戏合约接收到玩家A发来的3笔第一游戏参与交易后,在步骤S102 中,开局后的第一游戏合约将玩家A地址初始余额缓存到第一游戏合约的本局玩家A缓存余额内,此时本局玩家A缓存余额为20。

根据第一游戏合约的游戏规则,执行玩家A的第一笔第一游戏参与交易,从本局玩家A缓存余额中扣除并冻结10,同时从玩家A地址余额中扣除并冻结 10;作为玩家A的第一游戏参与交易的押金10;此时,本局玩家A缓存余额为 10,玩家A地址余额为10。

第一笔第一游戏参与交易的执行结果分为以下两种:

A1-1)若第一笔第一游戏参与交易判定为赢,押金解冻,则玩家A地址余额为30;本局玩家A缓存余额为10;

A1-2)若第一笔第一游戏参与交易判定为输,押金扣除,则玩家A地址余额为10;本局玩家A缓存余额为10。

执行玩家A的第二笔第一游戏参与交易,从本局玩家A缓存余额中扣除并冻结10,同时从玩家A地址余额中扣除并冻结10;作为玩家A的第一游戏参与交易的押金10;此时,

第二笔第一游戏参与交易押金冻结后分成2中情况:

A2-1)若根据第一笔第一游戏参与交易的执行结果A1-1),则玩家A地址余额为20;本局玩家A缓存余额为0;

A2-2)若根据第一笔第一游戏参与交易的执行结果A1-2),则玩家A地址余额为0;本局玩家A缓存余额为0;

第二笔第一游戏参与交易的执行结果分为以下四种:

A2-1-1)对于A2-1),若第二笔第一游戏参与交易判定为赢,押金解冻,则玩家A地址余额为40;本局玩家A缓存余额为0。

A2-1-2)对于A2-1),若第二笔第一游戏参与交易判定为输,押金扣除,则玩家A地址余额为20;本局玩家A缓存余额为0。

A2-2-1)对于A2-2),若第二笔第一游戏参与交易判定为赢,押金解冻,则玩家A地址余额为20;本局玩家A缓存余额为0。

A2-2-2)对于A2-2),若第二笔第一游戏参与交易判定为输,押金扣除,则玩家A地址余额为0;本局玩家A缓存余额为0。

执行玩家A的第三笔第一游戏参与交易,从本局玩家A缓存余额中扣除并冻结10,根据第一和第二笔第一游戏参与交易执行情况可知,本局玩家A缓存余额为0所以押金扣除冻结失败,第三笔第一游戏参与交易报错。上述三笔第一游戏参与交易根据第一游戏合约的游戏规则进行限定,防止在同一局游戏里赢来的奖励被当作押金反复适用,从而获利;以确保游戏公平性。上述三笔第一游戏参与交易的执行情况由第一游戏合约发送给玩家终端,玩家终端接收第一游戏合约根据游戏规则反馈的所述第一游戏参与交易的游戏结果。

如表2所示,比如游戏地址初始余额30,发了3笔第一游戏参与交易,押金提前扣除掉,采用本实施例的技术方案,可以实现在一局游戏中,输赢对称,确保游戏公平。

表2本实施例中输赢对称的表格展示

Figure RE-GDA0002283853380000091

Figure RE-GDA0002283853380000101

改进二、所述至少一笔第一游戏参与交易的押金从参与开局后的第一游戏合约的至少一个玩家地址初始余额中扣除并冻结,进一步地改进包括:

在向开局后的第一游戏合约发送至少一笔第一游戏参与交易之前,即在步骤S101前,从玩家地址初始余额中冻结每笔第一游戏参与交易的押金。如图2 所示:所述一种用于确保游戏公平的方法,改进为,包括:

S201、从玩家地址初始余额中冻结每笔第一游戏参与交易的押金;

S202、向开局后的第一游戏合约发送至少一笔第一游戏参与交易;

S203、接收第一游戏合约根据游戏规则反馈的所述第一游戏参与交易的游戏结果。

比如第一游戏合约的游戏规则为:游戏押金为10,奖励规则是,若赢了,解冻押金10,奖励10;若输了,扣除押金10。

若玩家A地址初始余额为20,玩家A想要创建3笔第一游戏参与交易参与开局后的第一游戏合约。

玩家A创建第一笔第一游戏参与交易,同时从玩家A地址余额中扣除并冻结10,则玩家A地址余额变为10,第一笔第一游戏参与交易创建成功。

玩家A创建第二笔第一游戏参与交易,同时从玩家A地址余额中扣除并冻结10,则玩家A地址余额变为0,第二笔第一游戏参与交易创建成功。

玩家A创建第三笔第一游戏参与交易,同时从玩家A地址余额中扣除并冻结10,因玩家A地址余额为0,扣除失败,则第三笔第一游戏参与交易创建失败。

上述三笔第一游戏参与交易均在玩家终端根据第一游戏合约的游戏规则创建,防止在同一局游戏里赢来的奖励被当作押金反复适用,从而获利;以确保游戏公平性。

本实施例的一种用于确保游戏公平的方法,还包括:接收第一游戏合约反馈的所述至少一个玩家的至少一笔第一游戏参与交易的确认信息;

审核所述确认信息正确与否;否,则结束;是,则接收第一游戏合约反馈的所述至少一个玩家的第一游戏参与交易的游戏结果;

其中,所述第一游戏合约,还用于:

发送所述至少一个玩家的至少一笔第一游戏参与交易的确认信息;

接收审核所述确认信息正确与否的消息;否,则结束;是,则发送第一游戏合约根据游戏规则反馈的所述至少一个玩家的至少一笔第一游戏参与交易的游戏结果。所述确认信息,包括:至少一个玩家的第一游戏参与交易的竞猜内容、押金及其冻结成功与否的结果,和玩家地址余额;当押金扣除方法采用改进一时,还包括本局玩家缓存余额。

如图3所示:所述一种用于确保游戏公平的方法,改进为,包括:

S301、向开局后的第一游戏合约发送至少一笔第一游戏参与交易;

S302、接收第一游戏合约反馈的所述至少一个玩家的至少一笔第一游戏参与交易的确认信息;

S303、审核所述确认信息正确与否;否,则结束;是,则接收第一游戏合约反馈的所述至少一个玩家的第一游戏参与交易的游戏结果。

实施例2

一种用于确保游戏公平的方法,适用于区块链节点,如图4所示,包括:

S401、开局后的第一游戏合约接收至少一个玩家的至少一笔第一游戏参与交易;

S402、向至少一个玩家发送第一游戏合约根据游戏规则反馈的至少一笔第一游戏参与交易的游戏结果;所述游戏结果,用于分配游戏奖励。

其中,所述第一游戏参与交易包括:竞猜内容、押金和玩家地址余额;

至少一笔第一游戏参与交易的押金从参与开局后的第一游戏合约的至少一个玩家地址初始余额中扣除并冻结。

所述至少一笔第一游戏参与交易的押金从参与开局后的第一游戏合约的至少一个玩家地址初始余额中扣除并冻结,进一步地改进包括:

第一游戏合约读取至少一个玩家的玩家地址初始余额缓存到第一游戏合约的本局玩家缓存余额内;

从本局玩家缓存余额中冻结至少一笔第一游戏参与交易的押金。所述从本局玩家缓存余额中冻结至少一个玩家的至少一笔第一游戏参与交易的押金,若本局玩家缓存余额不足,则在对应的第一游戏参与交易中报错。那么,一种用于确保游戏公平的方法,如图6所示,改进后包括:

S601、开局后的第一游戏合约接收至少一个玩家的至少一笔第一游戏参与交易;

S602、开局后的第一游戏合约读取至少一个玩家的玩家地址初始余额缓存到第一游戏合约的本局玩家缓存余额内;

S603、向至少一个玩家发送第一游戏合约根据游戏规则反馈的至少一笔第一游戏参与交易的游戏结果;所述游戏结果,用于分配游戏奖励。

所述至少一笔第一游戏参与交易的押金从参与开局后的第一游戏合约的至少一个玩家地址初始余额中扣除并冻结,进一步地改进包括:

在开局后的第一游戏合约接收至少一个玩家的至少一笔第一游戏参与交易之前,从玩家地址初余额中冻结每笔第一游戏参与交易的押金。

第一游戏合约向至少一个玩家反馈对应的至少一笔第一游戏参与交易的确认信息;

接收玩家审核所述确认信息正确与否的消息;否,则结束;是,则向至少一个玩家发送第一游戏合约根据游戏规则反馈的至少一笔第一游戏参与交易的游戏结果;

其中,所述玩家接收对应的至少一笔第一游戏参与交易的确认信息;

审核所述确认信息正确与否的消息;否,则结束;是,则接收第一游戏合约根据游戏规则反馈的至少一笔第一游戏参与交易的游戏结果。

所述游戏规则,用于从参与开局后的第一游戏合约的至少一个玩家地址初始余额中扣除并冻结第一游戏参与交易的押金;

若本局玩家缓存余额不足,则对应的至少一个玩家的第一游戏参与交易执行失败;

若本局玩家缓存余额充足,则对应的第一游戏参与交易执行成功。

所述确认信息,包括:至少一个玩家的第一游戏参与交易的竞猜内容、押金及其冻结成功与否的结果,和玩家地址余额,进一步可能还包括本局玩家缓存余额。

那么,一种用于确保游戏公平的方法,如图7所示,改进后包括:

S701、开局后的第一游戏合约接收至少一个玩家的至少一笔第一游戏参与交易;

S702、第一游戏合约向至少一个玩家反馈对应的至少一笔第一游戏参与交易的确认信息;

S703、接收玩家审核所述确认信息正确与否的消息;否,则结束;是,则向至少一个玩家发送第一游戏合约根据游戏规则反馈的至少一笔第一游戏参与交易的游戏结果;

其中,所述玩家接收对应的至少一笔第一游戏参与交易的确认信息;

审核所述确认信息正确与否的消息;否,则结束;是,则接收第一游戏合约根据游戏规则反馈的至少一笔第一游戏参与交易的游戏结果。

对象A可以是第一游戏合约的运营方,或者第一游戏合约的发布方等。假设将第一游戏合约的地址设为奖池地址,奖池地址也可以是对象A在区块链系统中的账户地址,第一游戏合约开局后,对象A提供一部分押金作为奖池,玩家提供的押金冻结,若玩家输,则冻结的押金进入奖池;若玩家赢,则返还押金并按赔率从奖池中获得相应的奖励。

赔率为1/中奖率,就是中奖率越低,赔率越大;具体的赔率计算一下能保持均衡就行,此处仅是举例说明,不作限制。以公链Chain33上的猜数字游戏为例,随机数可能是0-99,共100个数,玩家可以猜随机数小于某个数,比如猜随机数小于25,那么猜对的概率是25%那么赔率就是1:4,输家押金被扣,赢家拿到包含押金在内的4倍押金奖励。以猜大小的游戏为例,赔率为1:2,输家押金被扣,赢家拿到包含押金在内的2倍押金奖励。

实施例3

以Chain33公链上的游戏为例,同一个区块中调用同一个执行器(第一游戏合约)的交易会共享同一个第一游戏合约的缓存。

每局游戏的第一笔交易时,从本地数据库查询玩家地址的余额,并缓存到第一游戏合约的对应的玩家缓存余额中。同一局游戏中,同一个玩家的后续交易每次都读取对应玩家的缓存余额,每笔交易需要每次参与前从该缓存余额中扣除相应数量的押金,若缓存余额不足则直接报错。

比如,用户地址的游戏余额为10,连续参与三笔交易,每次押金都是10,执行步骤为:

1、处理第一笔交易,初始化执行器,从数据库中读取玩家地址余额10并缓存到第一游戏合约的对应的玩家缓存余额中;

2、押金是10,作为押金需要从玩家缓存余额中扣除,因此玩家缓存余额变成0;

3、游戏可能赢或者输,根据结果更新区块链数据库,玩家地址变成20或者0,但玩家缓存余额仍然是0,不更新。

4、执行第二笔交易,读取缓存的余额0,押金是10,因为押金不够交易执行失败。

可以看出,对于每个局游戏仅从本地数据库读取一次玩家地址余额用于扣除押金,用户新赢得的币不能作为押金参与游戏,从而杜绝了玩家利用漏洞进行套利,确保游戏的公平性。

实施例4

一种设备,所述设备包括:一个或多个处理器;存储器,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行如以上所述的方法。

一种存储有计算机程序的存储介质,该程序被处理器执行时实现如以上实施例1所述的方法。

图5为本发明一实施例提供的一种设备的结构示意图。

如图5所示,作为另一方面,本申请还提供了一种设备500,包括一个或多个中央处理单元(CPU)501,其可以根据存储在只读存储器(ROM)502中的程序或者从存储部分508加载到随机访问存储器(RAM)503中的程序而执行各种适当的动作和处理。在RAM503中,还存储有设备500操作所需的各种程序和数据。CPU501、ROM502以及RAM503通过总线504彼此相连。输入/输出(I/O)接口505也连接至总线504。

以下部件连接至I/O接口505:包括键盘、鼠标等的输入部分506;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分507;包括硬盘等的存储部分508;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分509。通信部分509经由诸如因特网的网络执行通信处理。驱动器510 也根据需要连接至I/O接口505。可拆卸介质511,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器510上,以便于从其上读出的计算机程序根据需要被安装入存储部分508。

特别地,根据本申请公开的实施例,上述任一实施例描述的方法可以被实现为计算机软件程序。例如,本申请公开的实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,所述计算机程序包含用于执行上述任一实施例描述的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分509从网络上被下载和安装,和/或从可拆卸介质511被安装。

作为又一方面,本申请还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例的装置中所包含的计算机可读存储介质;也可以是单独存在,未装配入设备中的计算机可读存储介质。计算机可读存储介质存储有一个或者一个以上程序,该程序被一个或者一个以上的处理器用来执行描述于本申请的方法。

附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这根据所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以通过执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以通过专用硬件与计算机指令的组合来实现。

描述于本申请实施例中所涉及到的单元或模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元或模块也可以设置在处理器中,例如,各所述单元可以是设置在计算机或移动智能设备中的软件程序,也可以是单独配置的硬件装置。其中,这些单元或模块的名称在某种情况下并不构成对该单元或模块本身的限定。

以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离本申请构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

19页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:基于智能玩具柜的玩具流通控制方法及装置、智能玩具柜

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!