System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及贪婪算法,尤其是涉及一种水排序类游戏关卡的生成方法、系统及存储介质。
技术介绍
1、水排序游戏的玩法是将多个瓶子中不同颜色的水,通过相互倾倒的方式移动合并,最终使所有颜色种类的水分别置入不同的瓶子中。其类型游戏的基本构造包括多个具有承载上限的容器,其中部分容器内装有明显特征区分的物件或液体(物件与液体在下文简称为物件)。游戏开始后,玩家每次仅能将一个容器中的物件与另一个容器中的同类特征物件进行合并,直至所有同类物件被成功合并至独立的容器中,游戏方才结束。
2、现有方案通常采用“纯随机生成关卡”和“评价关卡难度”的组合方法来生成不同难度的标准关卡。然而,这些方案在生成和评价的过程中效率低下,导致生成特定难度关卡的效率过低。特别是由于随机生成的关卡缺乏系统性,可能导致游戏的可玩性不稳定。此外,现有的评价机制未能有效考虑到玩家的操作策略和习惯,使得难度评估往往与实际体验存在偏差。解决这些问题的过程中,曾遇到的困难包括如何合理设定关卡难度参数以及如何在保留随机性的同时提高生成效率。
技术实现思路
1、本专利技术提供一种水排序类游戏关卡的生成方法、系统及存储介质,旨在解决现有水排序类型游戏关卡生成效率低下的问题。
2、本说明书公开了一种水排序类游戏关卡的生成方法,包括:
3、s1.生成空白关卡,具体如下:
4、根据待生成关卡的参数信息,生成一个空白关卡结构,初始化所有容器为可用状态;参数信息包括关卡难度、关卡尺寸、每个容器中物件的
5、s2.预处理物件出现概率,具体如下:
6、对每个位置对应设置一个列表,每个列表初始储存所有物件种类编号,视为每个位置在初始时可能出现的任意一种物件;基于3种设定的关卡难度,从若干预设规则中抽取规则后应用,使受规则影响的位置排除部分物件种类编号;由此建立以列表为表现形式、体现各位置可能出现物件种类的初始概率模型;
7、s3.更新物件出现概率,具体如下:
8、根据抽取的规则,更新排除受影响位置列表中,不应在该位置出现的物件编号;更新后检测,如果存在一个未放置物件的位置上候选物件编号列表为空,那么关卡生成失败;
9、s4.选择物件填充,具体如下:
10、在所有位置的列表中检测,从列表长度最短的若干个列表中随机选择一个,即在可能出现物件种类数最少的位置对应的列表中选择,从该列表中随机选择列表中的物件种类编号进行放置;
11、s5.遍历所有位置进行填充,具体如下:
12、执行s3,接着重复执行s4、s3,直至所有位置都放置了一种物件或无法放置任何一种物件;此时,检查关卡是否生成成功:
13、如果成功,则返回关卡数据;如果失败,则进行重试。
14、本说明书中,关卡的初始配置包括多个预设模板,以便根据不同的游戏模式、难度进行选择;每个预设模板包含有不同的规则组合。
15、本说明书中,规则包括但不限于:
16、随机填充第x排的物件,且同种物件在第x排不能出现超过a次;
17、依据从上至下,第x排不应出现第y排出现过的物件种类;
18、同一个容器内同种物件不能出现超过b次;
19、同一个容器内,每个物件不能连续出现超过c次。
20、本说明书中,设定关卡生成失败后的重试次数上限。
21、本说明书中还公开了一种水排序类游戏关卡的生成系统,用于实现上述中任一项所述的水排序类游戏关卡的生成方法,所述水排序类游戏关卡的生成系统包括:
22、生成空白关卡模块,用于:
23、根据待生成关卡的参数信息,生成一个空白关卡结构,初始化所有容器为可用状态;参数信息包括关卡难度、关卡尺寸、每个容器中物件的储存上限、物件种类数;空白关卡结构包括n个容器,每个容器中物件的储存上限为m,即共有n*m个位置,所有位置构成一个n*m的二维数组;
24、预处理物件出现概率模块,用于:
25、对每个位置对应设置一个列表,每个列表初始储存所有物件种类编号,视为每个位置在初始时可能出现的任意一种物件;基于3种设定的关卡难度,从若干预设规则中抽取规则后应用,使受规则影响的位置排除部分物件种类编号;由此建立以列表为表现形式、体现各位置可能出现物件种类的初始概率模型;
26、更新物件出现概率模块,用于:
27、根据抽取的规则,更新排除受影响位置列表中,不应在该位置出现的物件编号;更新后检测,如果存在一个未放置物件的位置上候选物件编号列表为空,那么关卡生成失败;
28、选择物件填充模块,用于:
29、在所有位置的列表中检测,从列表长度最短的若干个列表中随机选择一个,即在可能出现物件种类数最少的位置对应的列表中选择,从该列表中随机选择列表中的物件种类编号进行放置;
30、遍历所有位置进行填充模块,用于:
31、更新物件出现概率,接着重复执行选择物件填充、更新物件出现概率,直至所有位置都放置了一种物件或无法放置任何一种物件;此时,检查关卡是否生成成功:
32、如果成功,则返回关卡数据;如果失败,则进行重试。
33、本说明书中还公开了一种计算机可读存储介质,所述存储介质存储计算机指令,当计算机读取所述计算机指令时,所述计算机执行上述中任一项所述的水排序类游戏关卡的生成方法。
34、本说明书实施例至少可以实现以下有益效果:
35、本专利技术的概率的更新机制,在关卡构建开始时和逐步构建过程中均会执行;每次向着下一步选择的可能性变少的方向搜索,以增强关卡生成效率;概率更新的规则采用多套可替换模板,以增强灵活性和适应性;本专利技术引入变化可能性的预设和更新机制,增强了生成的效率和随机性,明显区别于传统随机生成方法。
本文档来自技高网...【技术保护点】
1.一种水排序类游戏关卡的生成方法,其特征在于,包括:
2.根据权利要求1所述的水排序类游戏关卡的生成方法,其特征在于,关卡的初始配置包括多个预设模板,以便根据不同的游戏模式、难度进行选择;每个预设模板包含有不同的规则组合。
3.根据权利要求1所述的水排序类游戏关卡的生成方法,其特征在于,规则包括:
4.根据权利要求1所述的水排序类游戏关卡的生成方法,其特征在于,设定关卡生成失败后的重试次数上限。
5.一种水排序类游戏关卡的生成系统,其特征在于,用于实现权利要求1至4中任一项所述的水排序类游戏关卡的生成方法,所述水排序类游戏关卡的生成系统包括:
6.一种计算机可读存储介质,其特征在于,所述存储介质存储计算机指令,当计算机读取所述计算机指令时,所述计算机执行如权利要求1至4中任一项所述的水排序类游戏关卡的生成方法。
【技术特征摘要】
1.一种水排序类游戏关卡的生成方法,其特征在于,包括:
2.根据权利要求1所述的水排序类游戏关卡的生成方法,其特征在于,关卡的初始配置包括多个预设模板,以便根据不同的游戏模式、难度进行选择;每个预设模板包含有不同的规则组合。
3.根据权利要求1所述的水排序类游戏关卡的生成方法,其特征在于,规则包括:
4.根据权利要求1所述的水排序类游戏关卡的生成方法,其...
【专利技术属性】
技术研发人员:章牧,代浩然,
申请(专利权)人:成都橙风趣游科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。