private boolean isBlockAhead(Engine engine) {

		int nextX = x;
		int nextY = y;
		
		switch (direction) {
			case 0: nextX++; break;
			case 1: nextY++; break;
			case 2: nextX--; break;
			case 3: nextY--; break;
		}

		if (engine.isBlockAhead(1.0)) {
			
			block(nextX, nextY);
			return true;
		}
		
		int next = get(nextX, nextY);
		if (next >= 0) {
			return next > stuck || stuck == 0;
		}
		
		return false;
	}