【まとめ】JavaScriptで迷路 プログラミング Twitter Facebook はてブ Pocket LINE コピー 2021.03.202023.07.07 これまでに書いた記事の中から、「p5.jsで迷路」というテーマで書いた記事をまとめてみました。 【JavaScript】迷路を出力する通路を「0」、壁を「1」とした2次元配列で迷路を表現して、通路を「」(半角スペース)、壁を「#」として1行ごとに改行して出力する。constPATH=0;constWALL=1;letmaze=[[1,1,1,1,1,1,1,1,1,1,1 【JavaScript】壁のない迷路を生成する迷路の幅と高さをそれぞれwidth,heightとして設定し、その数値にしたがって壁のない迷路を生成する。※迷路の幅と高さは5以上の奇数とする。classMaze{constructor(width,height){this.PATH=0; 【JavaScript】迷路の外壁を設置する迷路の幅と高さをそれぞれwidth,heightとして設定し、その数値にしたがって外壁を設置する。※迷路の幅と高さは5以上の奇数とする。classMaze{constructor(width,height){this.PATH=0;this 【JavaScript】迷路の内壁を等間隔に設置する迷路の幅と高さをそれぞれwidth,heightとして設定し、その数値にしたがって上下左右1マス間隔で内壁を設置する。※迷路の幅と高さは5以上の奇数とする。classMaze{constructor(width,height){this.P 【p5.js】棒倒し法で迷路を生成する迷路の幅と高さをそれぞれwidth,heightとして設定し、その数値にしたがって棒倒し法で迷路を生成する。※迷路の幅と高さは5以上の奇数とする。letmaze1;functionsetup(){maze1=newMaze(15,15);m 【p5.js】穴掘り法で迷路を生成する迷路の幅と高さをそれぞれwidth,heightとして設定し、その数値にしたがって穴掘り法で迷路を生成する。※迷路の幅と高さは5以上の奇数とする。letmaze1;functionsetup(){maze1=newMaze(15,15);m 【p5.js】壁伸ばし法で迷路を生成する迷路の幅と高さをそれぞれwidth,heightとして設定し、その数値にしたがって壁伸ばし法で迷路を生成する。※迷路の幅と高さは5以上の奇数とする。letmaze1;functionsetup(){maze1=newMaze(15,15); 【p5.js】迷路のスタートとゴールを設定する迷路のスタートとゴールを座標によって設定し、スタートを「S」、ゴールを「G」として出力する。letmaze1;functionsetup(){maze1=newMaze(15,15);maze1.set_maze_boutaoshi();m 【p5.js】迷路の最短経路を出力するスタートからゴールまでの距離を2次元配列で表現して、最短経路の通路を「」(半角スペース)から「*」に置き換えて出力する。letmaze1;functionsetup(){maze1=newMaze(15,15);maze1.set_maze 【p5.js】幅優先探索で迷路の最短経路を求める探索していない通路を「-1」として表現してスタートからゴールに到達するまで幅優先探索で迷路を探索し、探索した通路はスタートからの距離に数値を置き換える。letmaze1;functionsetup(){maze1=newMaze(15,15 【p5.js】深さ優先探索で迷路の最短経路を求める探索していない通路を「-1」として表現してスタートからゴールに到達するまで深さ優先探索で迷路を探索し、探索した通路はスタートからの距離に数値を置き換える。letmaze1;functionsetup(){maze1=newMaze(15,1 【p5.js】迷路のスタートからの距離を出力するスタートからの距離と壁を距離の最大値の桁数に合わせて出力する。letmaze1;functionsetup(){maze1=newMaze(15,15);maze1.set_maze_boutaoshi();maze1.set_start_ 【p5.js】Canvasを作成するcreateCanvas関数でスケッチを描画するためのcanvas要素を作成する。functionsetup(){createCanvas(640,480);}functiondraw(){background("black&qu 【p5.js】四角形を描画するrect関数でCanvasに四角形を描画する。letboard_w,board_h,space_w,space_h;functionsetup(){createCanvas(640,480);board_w=450;board_h=450; 【p5.js】直線を描画するline関数でCanvasに直線を描画する。letboard_w,board_h,space_w,space_h;functionsetup(){createCanvas(640,480);board_w=450;board_h=450;s 【p5.js】楕円を描画するellipse関数でCanvasに楕円を描画する。letboard_w,board_h,space_w,space_h,cell_space;functionsetup(){createCanvas(640,480);board_w=450 【p5.js】迷路を描画するCanvasに迷路を描画する。letboard_w,board_h,space_w,space_h,cell_space;letmaze1,position;functionsetup(){createCanvas(640,480);boa 【p5.js】十字キーから入力を受け取る十字キーから入力を受け取り、迷路を移動できるようにする。letboard_w,board_h,space_w,space_h,cell_space;letmaze1,position;functionsetup(){createCanvas 【p5.js】クリア画面を表示するプレイヤーがゴールに到達したら「GameClear!!」を出力する。letboard_w,board_h,space_w,space_h,cell_space;letmaze1,position;letstate;constPLAY=0,C