Created
April 27, 2018 22:34
-
-
Save rrichardsonv/24ba83995d1d7271e04e41307b3fc04f to your computer and use it in GitHub Desktop.
MazeGeneration(might as well be stream of consciousness haha)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| // create a function that accepts two paraments: an empty maze and a starting coordinate | |
| // the maze will be an array of arrays of objects. the objects will look like: | |
| // { | |
| // "n": true, | |
| // "e": true, | |
| // "s": true, | |
| // "w": true, | |
| // "visited": false | |
| // } | |
| // | |
| // the outer array (that contains arrays) represents the y axis. the inner arrays (that contains | |
| // objects) are represent the x axis. maze[y][x] | |
| // | |
| // the starting coordinates will be a pair, an array of two numbers, [x, y]. the first | |
| // number will be the x position and the second will be the y position | |
| // | |
| // generateMaze will return the same maze (you can operate on the parameter itself) | |
| // | |
| // a function called randomizeDirection is globally available. it will return to you an array of | |
| // ['n', 'e', 's', 'w'] in random order. in order to be able unit test this, these return values | |
| // are pre-determined. if you want to have a truly random return, call setOrder(null) (another | |
| // globally available function.) if you call it too frequently to pass the unit test, you'll see an | |
| // error in the console. | |
| // | |
| // it will also attempt to draw your maze as you write your algorithm. you'll see two lines for each | |
| // cell since neighbors each has its own walls. writeMaze assumes your data is well formatted . if you | |
| // have unvisted cells, they'll be highlighted in red | |
| // | |
| // if you'd like to see the utlities functions, they're kept in this CodePen: | |
| // https://codepen.io/btholt/pen/bLEryO?editors=0010 | |
| // | |
| // I highly suggest you work on one unit test at a time. Mark the others `xit('...', () => ...)` instead of | |
| // `it('...', () => ...)` so they won't run. | |
| const buildMaze = (maze, x, y, dir) => { | |
| let i = 0; | |
| maze[y][x].visited = true; | |
| while(i < 4){ | |
| let next = nextCoords(maze, dir[i], x, y); | |
| if(next && maze[y][x][dir[i]] && !maze[next.y][next.x].visited){ | |
| maze[y][x][dir[i]] = false; | |
| let opp = OPPOSITE[dir[i]]; | |
| maze[next.y][next.x][opp] = false; | |
| buildMaze(maze, next.x, next.y, randomizeDirection()); | |
| } | |
| i++; | |
| } | |
| return maze | |
| } | |
| const OPPOSITE = {e: 'w', w: 'e', s: 'n', n:'s'}; | |
| const nextCoords = (maze, dir, x, y) => { | |
| return nextCoordsForLength(maze.length)(x, y)(dir); | |
| } | |
| const nextCoordsForLength = (length) => (x, y) => (dir) => { | |
| if(dir === 'n' && y + 1 < length) { | |
| return {x, y:y+1, dir, opp: OPPOSITE[dir]}; | |
| } | |
| if(dir === 's' && y > 0) { | |
| return {x, y:y-1, dir, opp: OPPOSITE[dir]}; | |
| } | |
| if(dir === 'e' && x + 1 < length) { | |
| return {x:x+1, y, dir, opp: OPPOSITE[dir]}; | |
| } | |
| if(dir === 'w' && x > 0) { | |
| return {x:x-1, y, dir, opp: OPPOSITE[dir]}; | |
| } | |
| return false; | |
| } | |
| const recursiveGen = (maze, startX, startY, directions, getNextStartingAt) => { | |
| maze[startY][startX].visited = true; | |
| const getNext = getNextStartingAt(startX, startY); | |
| directions | |
| .map(getNext) | |
| .filter(dir => !!dir) | |
| .forEach(({x, y, dir, opp}) => { | |
| if(maze[startY][startX][dir] && !maze[y][x].visited){ | |
| maze[startY][startX][dir] = false; | |
| maze[y][x][opp] = false; | |
| recursiveGen(maze, x, y, randomizeDirection(), getNextStartingAt); | |
| } | |
| }); | |
| } | |
| const generateMaze = (maze, [xStart, yStart]) => { | |
| // const getNextCoords = nextCoordsForLength(maze.length); | |
| // recursiveGen(maze, xStart, yStart, randomizeDirection(), getNextCoords); | |
| buildMaze(maze, xStart, yStart, randomizeDirection()); | |
| return maze; | |
| }; | |
| // unit tests | |
| // do not modify the below code | |
| describe("mazes", function() { | |
| beforeEach(() => {}); | |
| it("5x5", () => { | |
| setOrder(1); | |
| const maze = generateMaze(genEmptyMaze(5, 5), [0, 0]); | |
| writeMaze(maze, document.getElementById("maze-1")); | |
| expect(maze).toEqual([ | |
| [ | |
| { n: true, e: false, s: true, w: true, visited: true }, | |
| { n: true, e: false, s: true, w: false, visited: true }, | |
| { n: true, e: false, s: true, w: false, visited: true }, | |
| { n: true, e: false, s: true, w: false, visited: true }, | |
| { n: false, e: true, s: true, w: false, visited: true } | |
| ], | |
| [ | |
| { n: false, e: true, s: true, w: true, visited: true }, | |
| { n: false, e: false, s: true, w: true, visited: true }, | |
| { n: true, e: false, s: true, w: false, visited: true }, | |
| { n: true, e: false, s: true, w: false, visited: true }, | |
| { n: true, e: true, s: false, w: false, visited: true } | |
| ], | |
| [ | |
| { n: false, e: true, s: false, w: true, visited: true }, | |
| { n: true, e: false, s: false, w: true, visited: true }, | |
| { n: true, e: false, s: true, w: false, visited: true }, | |
| { n: true, e: false, s: true, w: false, visited: true }, | |
| { n: false, e: true, s: true, w: false, visited: true } | |
| ], | |
| [ | |
| { n: false, e: false, s: false, w: true, visited: true }, | |
| { n: false, e: true, s: true, w: false, visited: true }, | |
| { n: false, e: false, s: true, w: true, visited: true }, | |
| { n: true, e: false, s: true, w: false, visited: true }, | |
| { n: true, e: true, s: false, w: false, visited: true } | |
| ], | |
| [ | |
| { n: true, e: true, s: false, w: true, visited: true }, | |
| { n: true, e: false, s: false, w: true, visited: true }, | |
| { n: true, e: false, s: false, w: false, visited: true }, | |
| { n: true, e: false, s: true, w: false, visited: true }, | |
| { n: true, e: true, s: true, w: false, visited: true } | |
| ] | |
| ]); | |
| }); | |
| it("8x8", () => { | |
| setOrder(2); | |
| const maze = generateMaze(genEmptyMaze(8, 8), [5, 3]); | |
| writeMaze(maze, document.getElementById("maze-2")); | |
| expect(maze).toEqual([ | |
| [ | |
| { n: false, e: false, s: true, w: true, visited: true }, | |
| { n: true, e: false, s: true, w: false, visited: true }, | |
| { n: true, e: false, s: true, w: false, visited: true }, | |
| { n: true, e: false, s: true, w: false, visited: true }, | |
| { n: true, e: false, s: true, w: false, visited: true }, | |
| { n: true, e: false, s: true, w: false, visited: true }, | |
| { n: true, e: false, s: true, w: false, visited: true }, | |
| { n: false, e: true, s: true, w: false, visited: true } | |
| ], | |
| [ | |
| { n: true, e: false, s: false, w: true, visited: true }, | |
| { n: false, e: true, s: true, w: false, visited: true }, | |
| { n: false, e: false, s: true, w: true, visited: true }, | |
| { n: true, e: true, s: true, w: false, visited: true }, | |
| { n: false, e: false, s: true, w: true, visited: true }, | |
| { n: false, e: false, s: true, w: false, visited: true }, | |
| { n: true, e: true, s: true, w: false, visited: true }, | |
| { n: false, e: true, s: false, w: true, visited: true } | |
| ], | |
| [ | |
| { n: false, e: false, s: true, w: true, visited: true }, | |
| { n: false, e: true, s: false, w: false, visited: true }, | |
| { n: true, e: false, s: false, w: true, visited: true }, | |
| { n: true, e: false, s: true, w: false, visited: true }, | |
| { n: false, e: true, s: false, w: false, visited: true }, | |
| { n: true, e: false, s: false, w: true, visited: true }, | |
| { n: false, e: true, s: true, w: false, visited: true }, | |
| { n: false, e: true, s: false, w: true, visited: true } | |
| ], | |
| [ | |
| { n: false, e: true, s: false, w: true, visited: true }, | |
| { n: true, e: true, s: false, w: true, visited: true }, | |
| { n: false, e: false, s: true, w: true, visited: true }, | |
| { n: false, e: true, s: true, w: false, visited: true }, | |
| { n: true, e: true, s: false, w: true, visited: true }, | |
| { n: false, e: true, s: true, w: true, visited: true }, | |
| { n: false, e: false, s: false, w: true, visited: true }, | |
| { n: true, e: true, s: false, w: false, visited: true } | |
| ], | |
| [ | |
| { n: true, e: false, s: false, w: true, visited: true }, | |
| { n: true, e: false, s: true, w: false, visited: true }, | |
| { n: true, e: true, s: false, w: false, visited: true }, | |
| { n: true, e: false, s: false, w: true, visited: true }, | |
| { n: false, e: true, s: true, w: false, visited: true }, | |
| { n: false, e: true, s: false, w: true, visited: true }, | |
| { n: false, e: true, s: false, w: true, visited: true }, | |
| { n: false, e: true, s: true, w: true, visited: true } | |
| ], | |
| [ | |
| { n: true, e: false, s: true, w: true, visited: true }, | |
| { n: false, e: false, s: true, w: false, visited: true }, | |
| { n: false, e: true, s: true, w: false, visited: true }, | |
| { n: false, e: true, s: true, w: true, visited: true }, | |
| { n: true, e: false, s: false, w: true, visited: true }, | |
| { n: true, e: true, s: false, w: false, visited: true }, | |
| { n: true, e: false, s: false, w: true, visited: true }, | |
| { n: false, e: true, s: false, w: false, visited: true } | |
| ], | |
| [ | |
| { n: false, e: false, s: true, w: true, visited: true }, | |
| { n: true, e: true, s: false, w: false, visited: true }, | |
| { n: true, e: false, s: false, w: true, visited: true }, | |
| { n: true, e: false, s: false, w: false, visited: true }, | |
| { n: true, e: false, s: true, w: false, visited: true }, | |
| { n: true, e: false, s: true, w: false, visited: true }, | |
| { n: true, e: true, s: true, w: false, visited: true }, | |
| { n: false, e: true, s: false, w: true, visited: true } | |
| ], | |
| [ | |
| { n: true, e: false, s: false, w: true, visited: true }, | |
| { n: true, e: false, s: true, w: false, visited: true }, | |
| { n: true, e: false, s: true, w: false, visited: true }, | |
| { n: true, e: false, s: true, w: false, visited: true }, | |
| { n: true, e: false, s: true, w: false, visited: true }, | |
| { n: true, e: false, s: true, w: false, visited: true }, | |
| { n: true, e: false, s: true, w: false, visited: true }, | |
| { n: true, e: true, s: false, w: false, visited: true } | |
| ] | |
| ]); | |
| }); | |
| it("15x15", () => { | |
| setOrder(3); | |
| const maze = generateMaze(genEmptyMaze(15, 15), [10, 2]); | |
| writeMaze(maze, document.getElementById("maze-3")); | |
| expect(maze).toEqual([ | |
| [ | |
| { n: false, e: true, s: true, w: true, visited: true }, | |
| { n: false, e: false, s: true, w: true, visited: true }, | |
| { n: false, e: false, s: true, w: false, visited: true }, | |
| { n: true, e: false, s: true, w: false, visited: true }, | |
| { n: false, e: false, s: true, w: false, visited: true }, | |
| { n: true, e: true, s: true, w: false, visited: true }, | |
| { n: false, e: false, s: true, w: true, visited: true }, | |
| { n: false, e: true, s: true, w: false, visited: true }, | |
| { n: false, e: false, s: true, w: true, visited: true }, | |
| { n: false, e: true, s: true, w: false, visited: true }, | |
| { n: true, e: false, s: true, w: true, visited: true }, | |
| { n: false, e: false, s: true, w: false, visited: true }, | |
| { n: false, e: false, s: true, w: false, visited: true }, | |
| { n: true, e: false, s: true, w: false, visited: true }, | |
| { n: true, e: true, s: true, w: false, visited: true } | |
| ], | |
| [ | |
| { n: false, e: false, s: false, w: true, visited: true }, | |
| { n: true, e: true, s: false, w: false, visited: true }, | |
| { n: false, e: true, s: false, w: true, visited: true }, | |
| { n: true, e: false, s: true, w: true, visited: true }, | |
| { n: true, e: true, s: false, w: false, visited: true }, | |
| { n: false, e: false, s: true, w: true, visited: true }, | |
| { n: true, e: true, s: false, w: false, visited: true }, | |
| { n: true, e: false, s: false, w: true, visited: true }, | |
| { n: true, e: true, s: false, w: false, visited: true }, | |
| { n: true, e: false, s: false, w: true, visited: true }, | |
| { n: false, e: true, s: true, w: false, visited: true }, | |
| { n: false, e: true, s: false, w: true, visited: true }, | |
| { n: true, e: false, s: false, w: true, visited: true }, | |
| { n: true, e: false, s: true, w: false, visited: true }, | |
| { n: false, e: true, s: true, w: false, visited: true } | |
| ], | |
| [ | |
| { n: true, e: false, s: false, w: true, visited: true }, | |
| { n: false, e: true, s: true, w: false, visited: true }, | |
| { n: true, e: false, s: false, w: true, visited: true }, | |
| { n: true, e: false, s: true, w: false, visited: true }, | |
| { n: true, e: false, s: true, w: false, visited: true }, | |
| { n: true, e: true, s: false, w: false, visited: true }, | |
| { n: true, e: false, s: true, w: true, visited: true }, | |
| { n: false, e: false, s: true, w: false, visited: true }, | |
| { n: true, e: false, s: true, w: false, visited: true }, | |
| { n: true, e: true, s: true, w: false, visited: true }, | |
| { n: true, e: true, s: false, w: true, visited: true }, | |
| { n: false, e: true, s: false, w: true, visited: true }, | |
| { n: true, e: false, s: true, w: true, visited: true }, | |
| { n: false, e: true, s: true, w: false, visited: true }, | |
| { n: false, e: true, s: false, w: true, visited: true } | |
| ], | |
| [ | |
| { n: false, e: true, s: true, w: true, visited: true }, | |
| { n: true, e: false, s: false, w: true, visited: true }, | |
| { n: false, e: true, s: true, w: false, visited: true }, | |
| { n: true, e: false, s: true, w: true, visited: true }, | |
| { n: true, e: false, s: true, w: false, visited: true }, | |
| { n: false, e: false, s: true, w: false, visited: true }, | |
| { n: false, e: false, s: true, w: false, visited: true }, | |
| { n: true, e: true, s: false, w: false, visited: true }, | |
| { n: false, e: false, s: true, w: true, visited: true }, | |
| { n: true, e: false, s: true, w: false, visited: true }, | |
| { n: false, e: true, s: true, w: false, visited: true }, | |
| { n: true, e: false, s: false, w: true, visited: true }, | |
| { n: false, e: true, s: true, w: false, visited: true }, | |
| { n: false, e: true, s: false, w: true, visited: true }, | |
| { n: false, e: true, s: false, w: true, visited: true } | |
| ], | |
| [ | |
| { n: false, e: false, s: false, w: true, visited: true }, | |
| { n: true, e: false, s: true, w: false, visited: true }, | |
| { n: true, e: true, s: false, w: false, visited: true }, | |
| { n: false, e: false, s: true, w: true, visited: true }, | |
| { n: true, e: false, s: true, w: false, visited: true }, | |
| { n: false, e: true, s: false, w: false, visited: true }, | |
| { n: true, e: true, s: false, w: true, visited: true }, | |
| { n: false, e: false, s: true, w: true, visited: true }, | |
| { n: true, e: true, s: false, w: false, visited: true }, | |
| { n: false, e: true, s: true, w: true, visited: true }, | |
| { n: true, e: false, s: false, w: true, visited: true }, | |
| { n: true, e: false, s: true, w: false, visited: true }, | |
| { n: true, e: false, s: false, w: false, visited: true }, | |
| { n: true, e: true, s: false, w: false, visited: true }, | |
| { n: false, e: true, s: false, w: true, visited: true } | |
| ], | |
| [ | |
| { n: false, e: true, s: false, w: true, visited: true }, | |
| { n: true, e: false, s: true, w: true, visited: true }, | |
| { n: true, e: false, s: true, w: false, visited: true }, | |
| { n: false, e: true, s: false, w: false, visited: true }, | |
| { n: true, e: false, s: true, w: true, visited: true }, | |
| { n: true, e: true, s: false, w: false, visited: true }, | |
| { n: false, e: false, s: true, w: true, visited: true }, | |
| { n: true, e: true, s: false, w: false, visited: true }, | |
| { n: false, e: false, s: true, w: true, visited: true }, | |
| { n: false, e: true, s: false, w: false, visited: true }, | |
| { n: false, e: false, s: true, w: true, visited: true }, | |
| { n: true, e: false, s: true, w: false, visited: true }, | |
| { n: true, e: false, s: true, w: false, visited: true }, | |
| { n: true, e: false, s: true, w: false, visited: true }, | |
| { n: false, e: true, s: false, w: false, visited: true } | |
| ], | |
| [ | |
| { n: false, e: true, s: false, w: true, visited: true }, | |
| { n: false, e: false, s: true, w: true, visited: true }, | |
| { n: false, e: true, s: true, w: false, visited: true }, | |
| { n: false, e: false, s: false, w: true, visited: true }, | |
| { n: false, e: true, s: true, w: false, visited: true }, | |
| { n: false, e: false, s: true, w: true, visited: true }, | |
| { n: true, e: true, s: false, w: false, visited: true }, | |
| { n: false, e: false, s: true, w: true, visited: true }, | |
| { n: true, e: true, s: false, w: false, visited: true }, | |
| { n: false, e: true, s: false, w: true, visited: true }, | |
| { n: false, e: true, s: false, w: true, visited: true }, | |
| { n: false, e: false, s: true, w: true, visited: true }, | |
| { n: true, e: false, s: true, w: false, visited: true }, | |
| { n: false, e: true, s: true, w: false, visited: true }, | |
| { n: false, e: true, s: false, w: true, visited: true } | |
| ], | |
| [ | |
| { n: true, e: false, s: false, w: true, visited: true }, | |
| { n: true, e: true, s: false, w: false, visited: true }, | |
| { n: false, e: true, s: false, w: true, visited: true }, | |
| { n: false, e: true, s: false, w: true, visited: true }, | |
| { n: true, e: false, s: false, w: true, visited: true }, | |
| { n: true, e: true, s: false, w: false, visited: true }, | |
| { n: true, e: false, s: true, w: true, visited: true }, | |
| { n: false, e: true, s: false, w: false, visited: true }, | |
| { n: true, e: false, s: true, w: true, visited: true }, | |
| { n: false, e: true, s: false, w: false, visited: true }, | |
| { n: true, e: false, s: false, w: true, visited: true }, | |
| { n: true, e: false, s: false, w: false, visited: true }, | |
| { n: true, e: true, s: true, w: false, visited: true }, | |
| { n: false, e: true, s: false, w: true, visited: true }, | |
| { n: false, e: true, s: false, w: true, visited: true } | |
| ], | |
| [ | |
| { n: false, e: false, s: true, w: true, visited: true }, | |
| { n: true, e: false, s: true, w: false, visited: true }, | |
| { n: true, e: true, s: false, w: false, visited: true }, | |
| { n: true, e: false, s: false, w: true, visited: true }, | |
| { n: false, e: true, s: true, w: false, visited: true }, | |
| { n: false, e: false, s: true, w: true, visited: true }, | |
| { n: false, e: true, s: true, w: false, visited: true }, | |
| { n: true, e: false, s: false, w: true, visited: true }, | |
| { n: false, e: true, s: true, w: false, visited: true }, | |
| { n: true, e: false, s: false, w: true, visited: true }, | |
| { n: false, e: true, s: true, w: false, visited: true }, | |
| { n: false, e: false, s: true, w: true, visited: true }, | |
| { n: false, e: true, s: true, w: false, visited: true }, | |
| { n: false, e: true, s: false, w: true, visited: true }, | |
| { n: false, e: true, s: false, w: true, visited: true } | |
| ], | |
| [ | |
| { n: true, e: false, s: false, w: true, visited: true }, | |
| { n: true, e: false, s: true, w: false, visited: true }, | |
| { n: false, e: true, s: true, w: false, visited: true }, | |
| { n: false, e: false, s: true, w: true, visited: true }, | |
| { n: true, e: true, s: false, w: false, visited: true }, | |
| { n: false, e: true, s: false, w: true, visited: true }, | |
| { n: true, e: false, s: false, w: true, visited: true }, | |
| { n: false, e: false, s: true, w: false, visited: true }, | |
| { n: true, e: true, s: false, w: false, visited: true }, | |
| { n: true, e: false, s: true, w: true, visited: true }, | |
| { n: true, e: true, s: false, w: false, visited: true }, | |
| { n: false, e: true, s: false, w: true, visited: true }, | |
| { n: true, e: false, s: false, w: true, visited: true }, | |
| { n: true, e: true, s: false, w: false, visited: true }, | |
| { n: true, e: true, s: false, w: true, visited: true } | |
| ], | |
| [ | |
| { n: false, e: false, s: true, w: true, visited: true }, | |
| { n: true, e: false, s: true, w: false, visited: true }, | |
| { n: true, e: true, s: false, w: false, visited: true }, | |
| { n: true, e: false, s: false, w: true, visited: true }, | |
| { n: true, e: false, s: true, w: false, visited: true }, | |
| { n: true, e: true, s: false, w: false, visited: true }, | |
| { n: false, e: false, s: true, w: true, visited: true }, | |
| { n: true, e: true, s: false, w: false, visited: true }, | |
| { n: false, e: false, s: true, w: true, visited: true }, | |
| { n: false, e: false, s: true, w: false, visited: true }, | |
| { n: true, e: false, s: true, w: false, visited: true }, | |
| { n: true, e: true, s: false, w: false, visited: true }, | |
| { n: false, e: false, s: true, w: true, visited: true }, | |
| { n: true, e: false, s: true, w: false, visited: true }, | |
| { n: false, e: true, s: true, w: false, visited: true } | |
| ], | |
| [ | |
| { n: false, e: true, s: false, w: true, visited: true }, | |
| { n: false, e: false, s: true, w: true, visited: true }, | |
| { n: true, e: false, s: true, w: false, visited: true }, | |
| { n: true, e: false, s: true, w: false, visited: true }, | |
| { n: true, e: false, s: true, w: false, visited: true }, | |
| { n: false, e: true, s: true, w: false, visited: true }, | |
| { n: true, e: false, s: false, w: true, visited: true }, | |
| { n: false, e: true, s: true, w: false, visited: true }, | |
| { n: false, e: true, s: false, w: true, visited: true }, | |
| { n: true, e: true, s: false, w: true, visited: true }, | |
| { n: false, e: false, s: true, w: true, visited: true }, | |
| { n: true, e: false, s: true, w: false, visited: true }, | |
| { n: true, e: true, s: false, w: false, visited: true }, | |
| { n: false, e: false, s: true, w: true, visited: true }, | |
| { n: false, e: true, s: false, w: false, visited: true } | |
| ], | |
| [ | |
| { n: true, e: false, s: false, w: true, visited: true }, | |
| { n: true, e: true, s: false, w: false, visited: true }, | |
| { n: false, e: false, s: true, w: true, visited: true }, | |
| { n: false, e: false, s: true, w: false, visited: true }, | |
| { n: true, e: true, s: true, w: false, visited: true }, | |
| { n: false, e: true, s: false, w: true, visited: true }, | |
| { n: true, e: false, s: true, w: true, visited: true }, | |
| { n: true, e: true, s: false, w: false, visited: true }, | |
| { n: true, e: false, s: false, w: true, visited: true }, | |
| { n: true, e: false, s: true, w: false, visited: true }, | |
| { n: true, e: false, s: false, w: false, visited: true }, | |
| { n: true, e: false, s: true, w: false, visited: true }, | |
| { n: true, e: true, s: true, w: false, visited: true }, | |
| { n: false, e: true, s: false, w: true, visited: true }, | |
| { n: true, e: true, s: false, w: true, visited: true } | |
| ], | |
| [ | |
| { n: false, e: false, s: true, w: true, visited: true }, | |
| { n: false, e: false, s: true, w: false, visited: true }, | |
| { n: true, e: true, s: false, w: false, visited: true }, | |
| { n: true, e: true, s: false, w: true, visited: true }, | |
| { n: false, e: false, s: true, w: true, visited: true }, | |
| { n: true, e: true, s: false, w: false, visited: true }, | |
| { n: false, e: false, s: true, w: true, visited: true }, | |
| { n: true, e: false, s: true, w: false, visited: true }, | |
| { n: true, e: false, s: true, w: false, visited: true }, | |
| { n: true, e: false, s: true, w: false, visited: true }, | |
| { n: false, e: true, s: true, w: false, visited: true }, | |
| { n: false, e: false, s: true, w: true, visited: true }, | |
| { n: false, e: true, s: true, w: false, visited: true }, | |
| { n: true, e: false, s: false, w: true, visited: true }, | |
| { n: false, e: true, s: true, w: false, visited: true } | |
| ], | |
| [ | |
| { n: true, e: true, s: false, w: true, visited: true }, | |
| { n: true, e: false, s: false, w: true, visited: true }, | |
| { n: true, e: false, s: true, w: false, visited: true }, | |
| { n: true, e: false, s: true, w: false, visited: true }, | |
| { n: true, e: false, s: false, w: false, visited: true }, | |
| { n: true, e: false, s: true, w: false, visited: true }, | |
| { n: true, e: true, s: false, w: false, visited: true }, | |
| { n: true, e: false, s: true, w: true, visited: true }, | |
| { n: true, e: false, s: true, w: false, visited: true }, | |
| { n: true, e: false, s: true, w: false, visited: true }, | |
| { n: true, e: false, s: false, w: false, visited: true }, | |
| { n: true, e: true, s: false, w: false, visited: true }, | |
| { n: true, e: false, s: false, w: true, visited: true }, | |
| { n: true, e: false, s: true, w: false, visited: true }, | |
| { n: true, e: true, s: false, w: false, visited: true } | |
| ] | |
| ]); | |
| }); | |
| }); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment