anchor.diff:        moveX = -deltaX;
       }
   
  -    if (baitY > fishY + tolY + amp){// + (width / 2)) {
  +    if (baitY > fishY + tolY) {
         moveY = deltaY;
  -    } else if (baitY < fishY - tolY - amp){// - (width / 2)) {
  +    } else if (baitY < fishY - tolY) {
         moveY = -deltaY;
       }
   
       moveX *= spf;
       moveY *= spf;
   
  -    moveY += amp * sin(time);
  -
       fishX += moveX;
       fishY += moveY;
   
  -    int posX = (fishX - (width  / 2)).toInt();
  -    int posY = (fishY - (height / 2)).toInt();
  +    int posX = (fishX - (width / 2) + ampX * sin(time / 8)).toInt();
  +    int posY = (fishY - (height / 2) + ampY * sin(time)).toInt();
   
       fish.style.left = '${posX}px';
  -    fish.style.top  = '${posY}px';
  +    fish.style.top = '${posY}px';
   
  -    time += 0.1;
  +    time += 0.1 % (2 * PI);
     }
  -}+}
  
positive.code: 
      int tolX = 5;
      int tolY = 5;
      int amp = 10;
  
      if (baitX > fishX) {
        setImg(Dir.Right);
  
negative.code: 
    DivElement fish;
    ImageElement fishImg;
    bool isRight; // Whether or not the fish is facing right
    int width; // Width of the fish
    int height; // Height of the fish
    double fishX; // The x position the fish is centered on
    double fishY; // The y position the fish is centered on
    int baitX; // The x position that the fish is attracted to
    int baitY; // The y position that the fish is attracted to
    double time; // The time count that regulates undulation
    double spf; // Speed factor
    double ampX; // The horizontal undulation factor
    double ampY; // The vertical undulation factor
  
    Fish(DivElement fish, ImageElement fishImg,
        [double spf = 1.0, double ampX = 40.0, double ampY = 30.0]) {
      this.fish = fish;
      this.fishImg = fishImg;
      width = 0;
      height = 0;
      isRight = true;
      fishImg.style.src = rightImg;
      fishX = 0.0;
      fishY = 0.0;
      baitX = 0;
      baitY = 0;
      time = 2 * PI * rand.nextDouble();
      this.spf = spf;
      this.ampX = ampX;
      this.ampY = ampY;
    }
  
    /// Set up where the fish is heading
    void setBait(int x, int y) {
      baitX = x;
      baitY = y;
    }
  
    /// Change the image to match the fish's direction
    void setImg(Dir dir) {
      if (dir == Dir.Left && isRight) {
        fishImg.src = leftImg;
  