void generate() { if (c == null) { stringBuf[x[0]][x[1]] = v; for (int i = 0; i < 2; i++) { for (int j = 0; j < dim[i]; j++) { x[i]++; char current = stringBuf[x[0]][x[1]]; if (current == '-' || current == '|') stringBuf[x[0]][x[1]] = '*'; else stringBuf[x[0]][x[1]] = walls[i]; } x[i] -= dim[i]; } } else { for (Node child : c) { child.generate(); for (int i = 0; i < 2; i++) x[i] += (v == i ? child.dim[i] : 0); } for (Node child : c) for (int i = 0; i < 2; i++) x[i] -= (v == i ? child.dim[i] : 0); } }