二维数组随机生成地图迷宫_经验分享:三套简单的迷宫地图生成方案

本文介绍了三种基于二维数组的迷宫地图生成方案:主路扭曲型、自然分岔型和块状分割型。通过通俗的语言和示意图展示了每种方法的详细步骤,适用于游戏开发中创建不同风格的迷宫地图。
摘要由CSDN通过智能技术生成

文/兔四

概述:文章基于一种基础的地图,来讨论三套不同的地图生成方案。

文章不会出现跟代码相关的内容,会以较为通俗的语句和不少简单的示意图来表示迷宫的生成方案。其中不少方法来自于游戏界前辈,我根据自己的基础地图做了不少修正(毕竟迷宫和地图的形式多种多样,适合自己游戏的才是最好的)。

根据方案生成地图之后,还可以加上一些静态分布来丰富地图表现,大家就自行发挥啦!

地图基础

地图的形式很多,这里我使用的地图是以tile块为单位分割的地图,地图上的tile块形式很多,但主要分成三种:

A:陆地,可以在上面分布一些角色啦物件啦;

B:过渡,根据物理框可以在上面移动,不过一般不会分布物件;

C:水域,不可移动的区域,可以理解成为迷宫的“墙”;

efbefb30e871d7423b9b78d517030581.gif

image001.png (266.48 KB, 下载次数: 31)

2017-6-15 14:16 上传

在后文的迷宫生成方案里,会以水域作为分割,主要围绕陆地的分布来设计迷宫,过渡的地块根据游戏实际需要再去生成。如果你不希望地图用水域来分割,那只需要把水域改成传统的墙壁即可。

本文用来展示的地图,面积都比较小,方便表达迷宫的生成规则。在实际游戏制作时,按需求去铺量就行。

方案一:主路扭曲型

1、首先,按照下图的间隔规则来生成基础的大地图,1为陆地,0为水域。

efbefb30e871d7423b9b78d517030581.gif

image003.png (104.04 KB, 下载次数: 40)

2017-6-15 14:16 上传

2、然后,选择一个靠近边缘的1作为起点,在它的周围随机找另一个黄色的1(这里的“周围”指的是上下左右4个方向,斜边不算)。找到就把他们联通,即把两个1之间的0变成陆地,这里用红色来表示。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值