【JavaScript】迷路を出力する

通路を「0」、壁を「1」とした2次元配列で迷路を表現して、
通路を「 」(半角スペース)、壁を「#」として1行ごとに改行して出力する。

const PATH = 0;
const WALL = 1;

let maze = [
  [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
 [1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1],
 [1, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1],
 [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1],
 [1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1],
 [1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1],
 [1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1],
 [1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1],
 [1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1],
 [1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1],
 [1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 1, 0, 1],
 [1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1],
 [1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1],
 [1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1],
 [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
];

function print_maze() {
  for(let col of maze) {
    let arr = ''
    for(let cell of col) {
      if (cell == WALL) {
        arr += '#';
      } else if (cell == PATH) {
        arr += ' ';
      }
    }
    console.log(arr);
  }
}

print_maze();

今回は、以下のように出力される。

###############
# # #   # #   #
# # # ### ### #
#             #
# # ### ##### #
# # #       # #
# ########### #
#     #       #
# ### ##### # #
#   #     # # #
### ### # ### #
#     # # #   #
### ### ### # #
#     # #   # #
###############

コメント

タイトルとURLをコピーしました