在仅有的条件下如何用java或其他语言随机生成迷宫

在迷宫类中,有x,y,height,widht以及二维矩阵matrix,我想用矩阵matrix在不同位置上的值取0/1代表是墙/路,
现在想在类中设置一个函数随机生成迷宫
在初始化矩阵中已经初始化height和widht,matrix,可以添加其他的变量

img

对矩阵遍历,通过随机数,生成0-1的随机数来生成迷宫。

我是这样想

  1. 设定正确路线
  2. 找到一条最短路线,每个坐标单独表示
  3. 从A到B进行拉弯处理,操作进行x次,可以随机

2.添加支路

  1. 操作x次
  2. 假设加的一点只与正确路线的一点相连,则可加该点