1.一种三维迷宫随机生成算法,其特征在于,包括步骤1、将起点房间作为当前选择的房间;
步骤2、访问当前房间,并将当前房间标记为已访问;
步骤3、将当前房间插入线性表的表尾后判断是否还存在没有被访问的房间;
或
直接判断是否还存在没有被访问的房间;
步骤4、根据选择进行如下处理;
步骤4.1、将当前房间插入线性表的表尾后判断是否还存在没有被访问的房间,如果不存在没有被访问的房间,结束整个流程;如果还存在没有被访问的房间,则:步骤4.1.1、从线性表中随机选择一个房间,并将此房间设置成为当前选择的房间;
步骤4.1.1.1、判断当前房间还存在未被访问的相邻的房间,如果当前房间还存在未被访问的相邻的房间,则:(a)从当前房间中随机选择一个还未被访问过的相邻的房间,并将此房间标记为已访问;
(b)拆除当前选择房间和此房间中间的墙;
(c)将此房间插入线性表的表尾后,如果此房间还存在没有被访问的相邻的房间就重复步骤4.1;
步骤4.1.1.2、判断当前房间还存在未被访问的相邻的房间,如果当前房间不存在未被访问的相邻的房间,则将其从线性表中删除;再判断是否存在未被访问房间,如果不存在未被访问房间则结束整个流程;如果还存在没有被访问的房间则重复步骤4.1.1;
步骤4.2、直接判断是否还存在没有被访问的房间,如果不存在未被访问的房间,则结束整个流程;如果还存在没有被访问的房间,则根据当前房间中是否存在未被访问的相邻的房间选择执行:步骤4.2.1、如果当前房间中存在未被访问的相邻的房间:则a.在当前房间的所有未被访问过的相邻的房间中,随机选择一个房间并标记;
b.拆除此房间与当前所选择房间之间的墙;
c.将当前房间入栈;
d.将所选择的房间设置成当前选择的房间后重复步骤4.2;
步骤4.2.2、如果当前房间中不存在未被访问的相邻的房间,则:a.栈顶房间出栈
b.将出栈的房间设置成为当前选择的房间后重复步骤4.2。