private void destroyNeighbors(Brick[][] array, int y, int x) {
	triggerPower(powers[y][x]);

	array[y][x].blowUp();

	if (isBlockAbove(array, y, x)) {
	    if (array[y - 1][x].getType() == BrickType.EXPLOSIVE) {   // above explosive?
		destroyNeighbors(array, y - 1, x);
	    }
	    array[y - 1][x].blowUp();
	    score += 100;
	    triggerPower(powers[y - 1][x]);
	}

	if (isBlockBelow(array, y, x)) {
	    if (array[y + 1][x].getType() == BrickType.EXPLOSIVE) {
		destroyNeighbors(array, y + 1, x);
	    }
	    array[y + 1][x].blowUp();
	    score += 100;
	    triggerPower(powers[y + 1][x]);
	}

	if (isBlockLeft(array, y, x)) {
	    if (array[y][x - 1].getType() == BrickType.EXPLOSIVE) {
		destroyNeighbors(array, y, x - 1);
	    }
	    array[y][x - 1].blowUp();
	    score += 100;
	    triggerPower(powers[y][x - 1]);
	}

	if (isBlockRight(array, y, x)) {
	    if (array[y][x + 1].getType() == BrickType.EXPLOSIVE) {
		destroyNeighbors(array, y, x + 1);
	    }
	    array[y][x + 1].blowUp();
	    score += 100;
	    triggerPower(powers[y][x + 1]);
	}
    }