Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function expedition(primary, secondary, overlay, start) {
- for (let i = 0; i < overlay.length; i++) {
- let [pointX, pointY] = overlay[i];
- for (let j = 0; j < primary.length; j++) {
- for (let k = 0; k < primary[j].length; k++) {
- if (j >= secondary.length || k >= secondary[j].length || j + pointX >= primary.length || k + pointY >= primary[j].length) {
- break;
- }
- let current = primary[j + pointX][k + pointY];
- let modifier = secondary[j][k];
- if (modifier === 1) {
- if (current === 0) {
- primary[j + pointX][k + pointY] = 1;
- }
- else {
- primary[j + pointX][k + pointY] = 0;
- }
- }
- }
- }
- }
- let point = {x:start[0],y:start[1]};
- let counter = 1;
- primary[point.x][point.y]=1;
- while (true) {
- if (primary[point.x][point.y + 1] === 0) {
- point.y++;
- counter++;
- primary[point.x][point.y]=1;
- if (point.y === primary[0].length - 1) {
- break;
- }
- continue;
- }
- if (primary[point.x + 1][point.y] === 0) {
- point.x++;
- counter++;
- primary[point.x][point.y]=1;
- if (point.x === primary.length - 1) {
- break;
- }
- continue;
- }
- if (primary[point.x][point.y - 1] === 0) {
- point.y--;
- counter++;
- primary[point.x][point.y]=1;
- if (point.y === 0) {
- break;
- }
- continue;
- }
- if (primary[point.x - 1][point.y] === 0) {
- point.x--;
- counter++;
- primary[point.x][point.y]=1;
- if (point.x === 0) {
- break;
- }
- continue;
- }
- break;
- }
- //console.log(primary);
- console.log(counter);
- function calculate(point) {
- let x = point.x;
- let y = point.y;
- if (x < primary.length / 2) {
- if (y < primary[0].length / 2) {
- return 2;
- }
- else {
- return 1;
- }
- }
- else {
- if (y < primary[0].length / 2) {
- return 3;
- }
- else {
- return 4;
- }
- }
- }
- if (point.x === primary.length - 1) {
- console.log('Bottom');
- }
- else if (point.y === primary[0].length) {
- console.log('Right');
- }
- else if (point.x === 0) {
- console.log('Top');
- }
- else if (point.y === 0) {
- console.log('Left');
- }
- else{
- let quadrant = calculate(point);
- console.log(`Dead end ${quadrant}`);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement