// Часть кода игры "Японский кроссворд" на JS
// отвечающая за генерацию вертикальных подсказок
// в массиве puzzle[x][y] содержится собственно сам кроссворд 
//   x и y - координаты клеток; каждый элемент массива содержит либо "s" (что значит, что клетка должна быть оставлена), либо "e" (что значит, что клетка должна быть удалена)
// в массиве vhints[i][k] хранятся собственно вертикальные подсказки, где i - номер столбца, а k - номер подсказки (т.к. у одного столбца их может быть несколько)
          for (var i = 1; i < 4; i++) {  //Generating vertical hints start
            for (var j = 1; j < 4; j++) {
              if (puzzle[j][i] == "s") {
                c++;
                if(puzzle[j+1][i] != "s") { // Ругается на эту строку, говорит "Uncaught TypeError: Cannot read property '1' of undefined". При этом, если убрать "+1", или переместить его к переменной i(т.е. увеличивать i, а не j) то всё будет ОК.
                  vhints[i][k] = c;
                  k++;
                  c = 0;
                }
              }
            }
            k = 0;
          }                              //Generating vertical hints end

Add a code snippet to your website: www.paste.org