private Point getFirstWithOtherType(int sX, int sY, int dX, int dY, int type) {
		int cX = sX + dX;
		int cY = sY + dY;
		while (cX >= 0 && cX < _nX && cY >= 0 && cY < _nY && _state[cY][cX] != null && _state[cY][cX].getType() == type) {
			cX += dX;
			cY += dY;
		}
		return new Point(cX, cY);
	}