crossing(particle) {
    if (this.crossType === "dead") {
      if (this.direction === ">" || this.direction === "R" || this.direction === "right" || this.direction === "down") {
        if (!this.rangeOut(particle)) return;
        if (this.getDirection(particle.p.x, particle.p.y)) particle.dead = true;
      } else {
        if (!this.rangeOut(particle)) return;
        if (!this.getDirection(particle.p.x, particle.p.y)) particle.dead = true;
      }
    } else if (this.crossType === "bound") {
      if (!this.rangeOut(particle)) return;

      if (this.getDistance(particle.p.x, particle.p.y) <= particle.radius) {
        if (this.dx === 0) {
          particle.v.x *= -1;
        } else if (this.dy === 0) {
          particle.v.y *= -1;
        } else {
          this.getSymmetric(particle.v);
        }
      }
    } else if (this.crossType === "cross") {
      if (this.alert) {
        console.error("Sorry, LineZone does not support cross method!");
        this.alert = false;
      }
    }
  }
Handles particle crossing behavior based on the crossType.
@param {Particle} particle - The particle to check for crossing.