▶ 実 行
▶ 実行
クリア
穴掘り法迷路(再起処理)
by クレスト
#なでしこ #迷路 #再起処理 Wall=[] Vertical_row=99 Horizontal_row=99 smaller = Horizontal_row もしVertical_row < Horizontal_rowなら: smaller = Vertical_row Width=(描画中キャンバス["width"])/smaller Direction=[[0,1],[1,0],[0,-1],[-1,0]] main__壁初期化 main__迷路作成(1,1) main__壁描画 ●壁初期化とは: もしVertical_row%2=0ならば: Vertical_row=Vertical_row+1 もしHorizontal_row%2=0ならば: Horizontal_row=Horizontal_row+1 Wall=[] row=[] Vertical_row回: rowに1を配列追加 iを0からHorizontal_row-1まで繰り返す: Wall[i]=rowを配列複製 ●壁描画とは: 全描画クリア iを0からHorizontal_row-1まで繰り返す: jを0からVertical_row-1まで繰り返す: もしWall[i][j]=1なら: [i*Width,j*Width,Width,Width]に四角描画 ●(x,y)迷路作成とは: Wall[x][y]=0 Directionを配列シャッフル way=Directionを配列複製 wayを反復: 定数[dx,dy]=対象 wx=x+dx+dx wy=y+dy+dy もし迷路範囲内(wx,wy)&&Wall[wx][wy]=1ならば: Wall[wx-dx][wy-dy]=0 迷路作成(wx,wy) ●(px,py)迷路範囲内とは: もしpx<0||px>=Horizontal_row||py<0||py>=Vertical_rowならば: falseを戻す trueを戻す
dd559a2a8b776398106115f4891934ba
2758