我的世界冒险地图怎么制作,这篇在mc中自动生成迷宫型生化大楼的教程一定是冒险地图作者所需要的了。这次给大家带来一个自动生成迷宫型生化大楼的系统,具体功能是生成一个内部一迷宫形式的一个怪物塔。内部每层25个房间,共7层。 如图:
分别是系统和大楼的图片。
生成时的图片 生成时可以选择要窗户或装饰和不要窗户或装饰。 房间 因为房间的装修问题,系统做得很大。每个房间都会生成对应的怪。每层房间的生成都是随机的,每层有1个楼梯间,至少14个实验室,5个反应仓,4个仓库,在顶楼时楼梯间会变成电源室,玩家可以通过关闭电源来取得胜利。房间装修由1.10的结构方块实现,虽然这样需要在用系统的时候需要相应的结构文件,但这是目前最省空间的办法。如果有什么更好的办法,欢迎探讨。 系统说明 这个系统的想法虽然来自林扬骐的3D迷宫生成器,但是这不是一个3D迷宫,这是一个每层独立的迷宫,生成原理大不相同。虽然这个系统一部分参照3D迷宫生成器,但是不能在一个迷宫的入口生成另一个迷宫。 原理 这个系统生成的步骤主要如下: 扩散第一层-把本层变成迷宫-生成房间-扩散下一层...-总处理 扩散方法 首先,我们需要5x5的内部5x5的房间,房间内部的盔甲架叫0。那么扩散方法如下: 一开始,会有一个叫migongzhongxin和0的盔甲架,和一个叫count的计分板(主要用来记录盔甲架旁边0的数量),然后如下方法开始扩散。 清除所有人的count分数-> 让所有的0给周围的盔甲架加分-> 选择分数小于等于3的0,让它生成成b-> 让b在周围生成a(四个cb)-> 检测a的头顶有没有石英块(自己是不是和0重叠),有则kill自己-> 让migongzhongxin把一定范围内的a变成0->killa和b(二cb)-> 让0把周围变成石英块-> (经过把扩散好的一层变成迷宫的许多命令方块)-> 让所有的0给migongzhongxin的count加1分-> 检测migongzhongxin的分数是否足够(场上的0是否足够,实际分数是目标0的数量加3)-> {制约}随机选择一个0变成1,并在0处生成tag为fangjian的盔甲架fangjian,把楼梯间上面的fangjian名字改为fangjian0(三cb)-> (负责每层后续处理的命令方块) 把每层变成迷宫的方法 这个过程包含每层后续处理并需要一个名为floor的计分板,方法如下 让1随机选择一个周围的0,变成-1-> 把1和-1之间打通(三cb)-> 把1和-1变成-2(二cb)-> 随机选择一个-2变成1-> (扩散的一部分命令方块)-> testfor 还有没有0->检测上一个cb的执行是否失败-> {制约}kill所有-2和1(二cb)-> {制约}检测migongzhongxin的floor分数是否为0,是则打开入口和放置告示牌(二cb)-> {制约}把migongzhongxin的floor分数加1-> {制约}分配房间并分别放置结构方块加载(九cb)-> {制约}在migongzhongxin的floor分数为11时,把放置生成楼梯间的结构方块的cb变成放置生成电源室的(二cb)-> {制约}tpmigongzhongxin到它的上4格-> {制约}在migongzhongxin处生成0-> (总处理的命令方块) 总处理 这是最后的处理,基本全是制约 killfloor分数大于14的migongzhongxin-> 在各种房间处生成怪物(三cb)-> 在tag为fangjian的盔甲架旁重新放置红石块(放置房间出错,二cb)-> |