public static Point[] getBlastRadius(Point point, int blockSize, int radius) {
		if(radius == 0) {
			return new Point[] {};
		} else if(radius == 1) {
			return new Point[] {new Point(point.x, point.y - blockSize),
					new Point(point.x - blockSize, point.y),
					new Point(point.x + blockSize, point.y),
					new Point(point.x, point.y + blockSize)};
		} else if(radius == 2) {
			return getThreeByThreeAround(point, blockSize);
		} else if((radius % 2) == 1) {
			/*
			 * 2 -> 9 = 3^2, 3 -> 25 = 5^2
			 */
			int i = 0;
			Point[] result = new Point[(int)Math.pow((radius * 2) - 1, 2)];
			for(int x = (point.x - (blockSize * radius));
					x <= point.x + (blockSize * radius); x += blockSize) {
				for(int y = (point.y - (blockSize * radius));
					y <= point.y + (blockSize * radius); y += blockSize) {
					result[i++] = new Point(x, y);
				}
			}
			return result;
		} else {
			return new Point[] {new Point(point.x, point.y + blockSize)};
		}
	}