一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种单人纸牌游戏的生成装置

2022-12-07 02:00:34 来源:中国专利 TAG:


1.本发明属于计算机设计领域,具体涉及一种单人纸牌游戏的生成装置。


背景技术:

2.tripeaks是一款经典的单人纸牌游戏,使用点数为a、2、3...j、q、k的纸牌组成牌面,牌面包括两个部分,牌桌区与底牌区,牌桌区的纸牌分层堆叠,形成树状拓扑结构,其中叠放在最上层的纸牌为翻开状态,即数字面朝上,其余纸牌的数字面朝下。底牌区的纸牌按照随机顺序横向堆叠,同样,叠放在最上层的纸牌数字面朝上,其余纸牌均为数字面朝下。根据底牌区翻开纸牌的点数,选择牌桌区翻开的纸牌中、点数相邻的纸牌进行回收,牌桌区被回收的纸牌成为底牌区翻开的纸牌,而底牌区原本被翻开的那张纸牌做丢弃处理。如果牌桌区不存在任何可以被回收的纸牌,则将底牌区被翻开的纸牌丢弃,并将原本堆叠在其下方的纸牌翻开。当牌桌区中数字朝下的纸牌上方没有堆叠纸牌时,将该纸牌翻开,作为可以被回收的纸牌。依次类推,直至牌桌区的所有纸牌被回收,游戏成功。如果底牌区的纸牌全部被丢弃,但是牌桌区还存在没有被回收的纸牌,则游戏失败。
3.在经典的tripeaks纸牌游戏中,牌桌区的纸牌一般堆叠为金字塔形或倒金字塔形,区别仅在于堆叠的层数不同。研究人员通过设计不同的纸牌堆叠结构,提高了游戏的趣味性。而游戏的可玩性通常取决于牌面的胜率。
4.现有生成方式通过在确定牌面结构后,采用随机赋值的方式决定牌桌区的纸牌点数,再通过深度优先搜索的方式得到该谜面的胜率。当牌桌区的纸牌数量较多时,采用随机赋值的方式具有很大的不确定性,得到的谜面的胜率通常很低,因此很难通过这种方式获得具有一定胜率要求的谜面。


技术实现要素:

5.针对现有技术的不足,本发明提出了一种单人纸牌游戏的生成装置,对于指定的牌面堆叠结构,通过非随机的方式对牌桌区的纸牌进行赋值,从而快速生成符合胜率要求的谜面。
6.一种单人纸牌游戏的生成装置包括谜面生成模块和谜面胜率计算模块。
7.所述谜面胜率计算模块根据输入的单人纸牌游戏谜面,进行多次代理游玩,统计游玩成功的次数占总游玩次数的比例,作为该谜面的胜率。
8.所述谜面生成模块根据指定的牌面堆叠结构,为底牌区和牌桌区的纸牌进行赋值,生成不同胜率的单人纸牌游戏谜面,具体包括以下步骤:
9.s1.1、根据指定的牌面堆叠结构,确定牌桌区和底牌区的纸牌数量m、n。设置谜面的生成数量与胜率范围。
10.s1.2、设置连续串li={x1,x2,

,xj,

,x
ai
},其中,连续串的第一张纸牌x1来自底牌区,其余纸牌来自牌桌区。ai表示以第i张底牌为首的连续串li的长度,i∈[1,n]、ai∈[1,1 m]且
[0011]
s1.3、对底牌区的纸牌进行随机赋值,判断s1.1设置的胜率范围,当胜率范围不为0时,按照x
j 1
=xj±
1对连续串li中的卡牌进行赋值。当胜率范围为0时,按照x
j 1
≠xj±
1对连续串li中的纸牌进行赋值。x
j 1
为当前牌桌区任意一张被翻开的纸牌,赋值完成后视为被回收。依次类推,直至完成所有牌桌区纸牌的赋值,输出单人纸牌游戏谜面。
[0012]
s1.4、将s1.3得到的单人纸牌游戏谜面输入谜面胜率计算模块中,计算该谜面的胜率,若该谜面的胜率符合s1.1设置的胜率范围则保存,否则抛弃。
[0013]
s1.5、重复s1.3~1.4,直至保存了指定生成数量的谜面。
[0014]
本发明具有以下有益效果:
[0015]
本技术利用谜面生成模块,根本不同胜率范围的要求,生成tripeaks纸牌游戏的谜面,相较于现有技术中通过随机赋值的方法,本技术生成指定胜率范围的谜面的速度更快,并且不受纸牌堆叠结构变化的影响。
附图说明
[0016]
图1为谜面胜率确定模块流程示意图;
[0017]
图2为实施例中展示的tripeaks界面示意图;
[0018]
图3为谜面生成模块流程示意图;
[0019]
图4为实施例中设计的一种谜面堆叠结构示意图;
[0020]
图5为实施例中对底牌区赋值后的谜面示意图;
[0021]
图6(a)、6(b)、6(c)为实施例1中为第一个连续串赋值的示意图;
[0022]
图7(a)、7(b)为实施例1中为第二个连续串赋值的示意图;
[0023]
图8(a)、8(b)、8(c)为实施例2中为第一个连续串赋值的示意图;
[0024]
图9(a)、9(b)为实施例2中为第二个连续串赋值的示意图。
具体实施方式
[0025]
以下结合附图对本发明作进一步的解释说明;
[0026]
实施例1
[0027]
一种单人纸牌游戏的生成装置包括谜面生成模块和谜面胜率计算模块。
[0028]
将单人纸牌游戏的谜面结构以json格式描述,输入所述谜面胜率计算模块中,进行10000次基于随机策略、最佳收牌策略或最佳翻拍策略的代理游玩,统计游玩成功的次数占总游玩次数的比例,作为该谜面的胜率,如图1所示。
[0029]
所述随机策略为:在游戏的每一步,随机进行任意可能的收牌动作。所述最佳收牌策略为:在游戏的每一步,进行使连续收牌动作更长的选择。所述最佳翻牌策略为:在游戏的每一步,进行回收后可以有新的纸牌被翻开的选择。如图2所示,当前牌桌区所有被翻开的纸牌为6、7、9、10、j,底牌区的纸牌为8,此时可以被回收的纸牌为7或9,在随机策略下,7或9被选择的概率相同。在当前已知的条件下,若选择回收9,则还可以依次回收10、j,若选择回收7,则可以再回收6,即回收9可以使连续收牌的动作更长,因此在最佳收牌策略下,9被选择的概率大于7。当7被回收后,有一张纸牌可以被翻开,而9被回收后,没有纸牌可以被翻开,因此在最佳翻牌策略下,7被选择的概率大于9。
[0030]
如图3所示,所述谜面生成模块根据指定的牌面堆叠结构,为底牌区和牌桌区的纸
牌进行赋值,生成不同胜率的单人纸牌游戏谜面,具体包括以下步骤:
[0031]
s1.1、输入如图4所示的牌面堆叠结构,在牌桌区中白色表示当前为数字面朝上的纸牌,黑色表示当前数字面朝下的纸牌,牌桌区和底牌区的纸牌数量分别为5和2。设置谜面的生成数量为20,胜率范围为50%~100%。
[0032]
s1.2、设置连续串li={x1,x2,

,xj,

,x
ai
},其中,连续串的第一张纸牌x1来自底牌区,其余纸牌来自牌桌区。ai表示以第i张底牌为首的连续串li的长度,i∈[1,n]、ai∈[1,1 m]且
[0033]
s1.3、对底牌区的纸牌进行随机赋值,如图5所示。以11为首的连续串的长度为a1,以3为首的连续串的长度为a2,则(a1,a2)={(1,6),(2,5),(3,4),(4,3),(5,2),(6,1)}。
[0034]
假设以11为首的连续串的长度为4,以3为首的连续串的长度为3。根据s1.1设置的胜率范围为50%~100%,按照x
j 1
=xj±
1对两个连续串中的纸牌进行赋值。首先随机从牌桌区选择一张被翻开的纸牌,将其赋值为11 1或11-1,如图6(a)所示,将其赋值为10。再随机从牌桌区选择一张被翻开的纸牌,将其赋值为10 1或10-1,如图6(b)所示,将其赋值为11。对于赋值完成的纸牌,视为被回收,因此此时牌桌区有新的纸牌被视为被翻开,再下一次赋值时,该纸牌也可以被选择。如图6(c)所示,再次从牌桌区随机选择一张被翻开的纸牌,将其赋值为11 1或11-1。至此,完成了对以11为首的连续串中所有纸牌的赋值。接着,对以3为首的连续串中的纸牌进行赋值,如图7(a)、(b)所示。至此,完成了一个谜面的生成。
[0035]
s1.4、将s1.3得到的单人纸牌游戏谜面输入谜面胜率计算模块中,计算该谜面的胜率,若该谜面的胜率在50%~100%的范围内则保存,否则抛弃。
[0036]
s1.5、重复s1.3~1.4,直至保存了指定生成数量的谜面。
[0037]
实施例2
[0038]
本实施例中同样以图6所示的牌面堆叠结构为例,说明生成胜率为0的谜面方法。
[0039]
同样将底牌区的纸牌赋值为11、3,且假设以11为首的连续串的长度为4,以3为首的连续串的长度为3。按照x
j 1
≠xj±
1对两个连续串中的纸牌进行赋值。首先随机从牌桌区选择一张被翻开的纸牌,将其赋值为1~13中任意不等于11
±
1的数字,如图8(a)所示,将其赋值为5。再随机从牌桌区选择一张被翻开的纸牌,将其赋值为1~13中任意不等于5
±
1的数字,如图8(b)所示,将其赋值为8。如图8(c)所示,再次从牌桌区随机选择一张被翻开的纸牌,将其赋值为1。至此,完成了对以11为首的连续串中所有纸牌的赋值。接着,同样按照x
j 1
≠xj±
1的规律,对以3为首的连续串中的纸牌进行赋值,如图9(a)、(b)所示。至此,完成了一个谜面的生成。
[0040]
为了保证所得谜面的胜率为0,同样需要将生成的谜面输入谜面胜率计算模块进行胜率的计算。
[0041]
实施例3
[0042]
利用本发明所述装置与随机赋值的方式在牌桌区纸牌数量不同的情况下生成100个谜面,计算其中胜率在50%以上的谜面占比,统计结果如表1所示:
[0043]
牌桌区纸牌数量随机赋值本发明1311%72%1718%45%2233%68%
245%36%300%15%360%28%
[0044]
表1
[0045]
由表1可知,现有技术通过随机赋值的方法生成的谜面,符合胜率要求的数量远小于本发明,特别是当牌桌区的纸牌数量增加时,采用随机赋值的方式生成的100个谜面没有一个胜率在50%以上,因此现有技术的谜面生成方法具有很大的随机性,很难生成指定胜率的谜面,特别是在牌桌区的纸牌数量较大时,若想要获得胜率稳定的谜面,需要付出很多资源与时间。
[0046]
以上实施例仅为本方明的部分实施例,并非为全部实施例,本发明的保护范围并不局限于此。本领域的普通技术人员可以理解,即使没有这些技术细节和基于上述各实施方式的种种变化和修改,也可以实现本技术各权利要求所要求保护的技术方案。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献