private ArrayList<Point> checkLine(int sX, int sY, int dX, int dY, int type) {
		ArrayList<Point> ret = new ArrayList<Point>();
		
		for (int i = 0; i < 2; i++) {
			int cX = sX + dX;
			int cY = sY + dY;
			while (cX >= 0 && cX < _nX && cY >= 0 && cY < _nY &&
					_state[cY][cX] != null && compTypes(type, _state[cY][cX].getType())) {
				ret.add(new Point(cX, cY));
				cX += dX;
				cY += dY;
			}
			dX *= -1;
			dY *= -1;
		}
		
		return ret;
	}