anchor.diff:      if(this.outOfBounds(x,y-1) == false && grid.getElement(x, y) >= grid.getElement(x, y-1)) //abajo
       {
         grid.setElement(x, y, max);
  -      auxList = this.maxDecrecimientosList(grid,x,y-1);
  +      auxList = this.maxDecrecimientosList(grid,x,y-1,false);
         count.add(auxList[0]+1);
         addedcount.add(auxList[1]+aux);
         grid.setElement(x, y, aux);
  
positive.code:           count++;
          }
        }
        aux = this.maxDecrecimientosList(moveGrid,punto[0],punto[1]);
        decrecimientos.add(aux[1]);
        moveList.add(Move.down);
        count++;
      }
      moveGrid = testGrid.clone();
      //derecha
      moveGrid.simulateMoveRight();
      if(prevMove != Move.left && moveGrid.compareGrid(testGrid) != 0)
      {
        if(limit == false)
        {
          temp = this.getMove(moveGrid, punto, true, Move.right);
          if(temp != -1)
          {
            decrecimientos.add(temp);
  
negative.code:    * la mayor suma de elementos. Por ejemplo si tenemos dos caminos que empiezan de un punto de valor 16 y son 16-16-2 y 16-8-4-2 nos
     * quedamos con el de 16-16-2.
     */
    List<int> maxDecrecimientosList(Grid grid, int x, int y, bool first)
    {
      List<int> count = new List<int>();
      List<int> addedcount = new List<int>();
  