Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function dwarsdoorsnede(r, gangen) {
- var grot = [];
- var laag = [];
- var k = (gangen.length/2)/r;
- if (Number.isInteger(k) === false) {
- throw {
- name: 'AssertionError',
- message: 'ongeldige dwarsdoorsnede'
- };
- }
- for (i = 0; i < gangen.length-1; i += 2) {
- laag.push(gangen.slice(i, i+2));
- if (laag.length == k) {
- grot.push(laag);
- laag = [];
- }
- }
- return grot;
- }
- function diepte(grot){
- var r = grot.length;
- var k = grot[0].length;
- var diepte = 1;
- var rij = 0;
- var kolom = 0;
- if (!grot[0][0].includes("N")) {
- return 0;
- }
- if (grot[0][0].includes("O")) {
- //richting = richting waarlangs volgende vak wordt binnengegaan
- richting = "W";
- kolom += 1;
- }
- else if (grot[0][0].includes("Z")) {
- richting = "N";
- rij += 1;
- }
- else {
- richting = "O";
- }
- while (grot[rij][kolom].includes(richting)) {
- x = "go";
- kamer = grot[rij][kolom];
- for (var i = 0; i < 2; i++){
- if (kamer[i] != richting && x == "go") {
- //andere richting dan binnenkomstrichting
- if (kamer[i] == "N"){
- richting = "Z";
- rij -= 1;
- diepte += 1;
- x = "stop";
- } else if (kamer[i] == "Z") {
- richting = "N";
- rij += 1;
- diepte += 1;
- x = "stop";
- } else if (kamer[i] == "O") {
- richting = "W";
- kolom += 1;
- diepte += 1;
- x = "stop";
- } else if (kamer[i] == "W") {
- richting = "O";
- kolom -= 1;
- diepte += 1;
- x = "stop";
- }
- }
- }
- if (rij >= r || kolom >= k || rij < 0 || kolom < 0) {
- break;
- }
- }
- return diepte;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement