[发明专利]一种基于树状拓扑的纸牌游戏的牌面生成装置在审
申请号: | 202210473245.0 | 申请日: | 2022-04-29 |
公开(公告)号: | CN114870391A | 公开(公告)日: | 2022-08-09 |
发明(设计)人: | 高奕杰 | 申请(专利权)人: | 杭州师范大学 |
主分类号: | A63F1/00 | 分类号: | A63F1/00;A63F13/52 |
代理公司: | 杭州君度专利代理事务所(特殊普通合伙) 33240 | 代理人: | 杨舟涛 |
地址: | 311121 浙江*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 树状 拓扑 纸牌 游戏 生成 装置 | ||
1.一种基于树状拓扑的纸牌游戏的牌面生成装置,其特征在于:包括参数初始化模块、拓扑结构生成模块、牌面点数生成模块和展示模块;
所述参数初始化模块用于设置牌面的基本参数,包括牌桌区纸牌数量最小值MIN_N和最大值MAX_N,牌桌区纸牌分组数量G与初始翻开纸牌数量最大值MAX_I,底牌区纸牌数量Count,通关率最小值MIN_R与最大值MAX_R;其中,MIN_N<MAX_N、G<MAX_I、Count≥1、MIN_R<MAX_R;
所述拓扑结构生成模块根据参数初始化模块中设置的牌桌区纸牌数量参数,随机生成符合数量要求的拓扑结构,具体包括以下步骤:
s1.1、随机生成n个节点作为一代节点,n≥2;然后在一代节点的上方和下方生成n-1、n或n+1个节点作为上层二代节点和下层二代节点,以此类推,生成多代节点,即每一代节点的数量与其上一代节点的数量的关系为相等、多一个或少一个;在下一代节点生成前,如果当前一代的节点数大于等于2时,随机将其拆分成若干组或不拆分,分组后每组各自生成下一代节点,拆分后生成的下一代节点的数量与上一代节点的数量相等或少一个;
s1.2、在每次生成完下一代节点的之后,将相邻两代的节点进行连接,两代之间节点的连接线不能交叉,建立拓扑结构;如果下一代节点的数量更多,则每个节点与下一代中相邻位置的两个节点同时连接;如果下一代的节点数量更少,那么每两个节点与下一代中相邻位置的一个相连接;如果两代的节点数量相同,则每个节点均可以与下一代中相同位置的节点连接,或者除了最左边或最右边的节点只连接与下一代中相同位置的节点,其余的节点连接其在二代节点中的对应位置以及相邻的一个节点;当所有节点均与其他节点连接后,得到拓扑结构A;
s1.3、判断s1.2得到的拓扑结构A是否满足左右对称关系;当拓扑结构A满足左右对称关系时,判断拓扑结构A中的总节点数是否超过牌桌区纸牌数量最大值MAX_N,若超过则返回s1.1,若不超过则将其作为拓扑结构B,并进入s1.4;当拓扑结构A不满足左右对称关系时,判断拓扑结构A中的总节点数是否超过牌桌区纸牌数量最大值的一半MAX_N/2,若超过则返回s1.1,若不超过则通过镜面复制的方法,使其满足左右对称关系后作为拓扑结构B,并进入s1.4;
s1.4、使用牌桌区纸牌数量最大值MAX_N除以s1.3得到的拓扑结构B的总节点数,将计算结果b向下取整后,判断b-1是否大于0,当b-1>0时,将拓扑结构B随机复制0~b-1次,得到拓扑结构C,并进入s1.5;当b-1≤0时,直接将拓扑结构B作为拓扑结构C,并进入s1.5;
s1.5、判断s1.4得到的拓扑结构C的总节点数是否大于牌桌区纸牌数量最小值MIN_N,若小于则进入s1.6;若大于则判断拓扑结构C的总节点数与牌桌区纸牌数量最大值MAX_N的差值是否大于6,若大于则进入s1.6,若小于则将拓扑结构C作为拓扑结构E,并直接进入s1.7;
s1.6、限制总节点数小于拓扑结构C的总节点数与牌桌区纸牌数量最大值MAX_N的差值,根据s1.1~s1.4的方法,生成拓扑结构D;然后将拓扑结构D与拓扑结构C合并,得到新的拓扑结构E;定义拓扑结构中独立树状拓扑的个数为该拓扑结构的组数,为了保证拓扑结构E的左右对称关系,当拓扑结构C的组数为奇数时,只有组数为偶数的拓扑结构D才能与其合并组成拓扑结构E,否则需要重新生成拓扑结构D;然后通过s1.5的方法对拓扑结构E进行处理;
s1.7、判断拓扑结构E的组数是否与参数初始化模块中设置的牌桌区纸牌分组数量G相等,若相等则保存该拓扑结构E;若不相等则返回s1.1,重新生成新的拓扑结构;所述牌面点数生成模块,根据拓扑结构生成模块保存的拓扑结构E与参数初始化模块中设置的参数,为每个节点赋予符合数量要求和通关率要求的点数;具体包括以下步骤:
s2.1、根据底牌区纸牌数量Count生成一组节点,然后为该组节点与拓扑结构E中的每一个节点的位置随机放置一张纸牌,纸牌的点数范围为A、2、3...J、Q、K;
s2.2、随机选取拓扑结构E中某行的若干连续节点作为初始翻开节点,则初始翻开节点上的纸牌为初始翻开纸牌;初始翻开节点的数量在牌桌区纸牌分组数量G与初始翻开纸牌数量最大值MAX_I之间,且所有初始翻开节点所在的位置应该满足左右对称性;
s2.3、将s2.2中选取的初始翻开节点设置为第0层节点,将拓扑结构E中与第0层节点之间具有连接线的节点设置为第1层节点,与第1层节点具有连接线的设置为第2层节点,以此类推,直至拓扑结构E中所有的节点都被赋予了层级;然后将第e层节点的纸牌设置为覆盖在与其具有连接关系的第e+1层节点的纸牌上方,得到牌桌区纸牌堆叠顺序;
s2.4、将s2.1和s2.3得到的牌桌区和底牌区纸牌堆叠顺序与纸牌点数作为牌面,使用深度优先搜索的方式,按照TriPeaks的规则进行选择,计算该牌面的通关概率r,当MIN_R≤r≤MAX_R时,保存该牌面,否则返回s2.1;
所述展示模块根据牌面点数生成模块输出的牌面,将其展示为符合堆叠顺序的形式,加载到游戏界面上。
2.如权利要求1所述一种基于树状拓扑的纸牌游戏的牌面生成装置,其特征在于:在s2.4中使用深度优先搜索的方式进行牌面通过概率的计算。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州师范大学,未经杭州师范大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210473245.0/1.html,转载请声明来源钻瓜专利网。