我的世界冒险地图怎么制作,这篇在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)->