anchor.diff:      Game.move(this.globalMove);
     }
     
  -  int getMove(Grid testGrid, List<int> punto, int depth, List<Move> pMoves, int amountMoves)
  +  List<int> getMove(Grid testGrid, List<int> punto, int depth, List<Move> pMoves, int amountMoves)
     {
       List<int> decrecimientos = new List<int>(); //array that will contain the different amount of decrecimientos from up/down/left/right
       List<Move> prevMoves = this.cloneList(pMoves,amountMoves);
       List<Move> moveList = new List<Move>();
  +    List<int> depthList = new List<int>();
       int count = 0;
       List<int> aux = new List<int>();
       Grid moveGrid = testGrid.clone();
  -    int temp;
  +    List<int> temp;
  +    List<int> returnList = new List<int>();
       
       //arriba
       moveGrid.simulateMoveUp();
       if(isInList(prevMoves, amountMoves, Move.down) == false && moveGrid.compareGrid(testGrid) != 0)
       {
  -      aux = this.maxDecrecimientosList(moveGrid,punto[0],punto[1],true);
  +      aux = this.maxDecrecimientosList(moveGrid,punto[0],punto[1],true,0,0);
         decrecimientos.add(aux[1]);
         moveList.add(Move.up);
  +      depthList.add(depth);
         count++;
         if(depth != 0 && aux[1] != 0)
         {
           prevMoves.add(Move.up);
           temp = this.getMove(moveGrid, punto, depth-1, prevMoves, amountMoves+1);
  -        if(temp != -1)
  -        {
  -          decrecimientos.add(temp);
  +        if(temp[0] != -1)
  +        {
  +          decrecimientos.add(temp[0]);
             moveList.add(Move.up);
  +          depthList.add(temp[1]);
             count++;
           }
         }
  
positive.code:       return returnList;
      }
      
      if(this.outOfBounds(x+1,y) == false && grid.getElement(x, y) >= grid.getElement(x+1, y)) //derecha
      {
        this.factor(1, 0, first);
        grid.setElement(x, y, max);
        auxList = this.maxDecrecimientosList(grid,x+1,y,false);
        count.add(auxList[0]+1);
        addedcount.add(auxList[1]+aux*this.factor(1,0,first));
        grid.setElement(x, y, aux);
        if(grid.getElement(x, y) == grid.getElement(x+1, y))
        {
  
negative.code:       returnList.add(addedcount[maxcount]);
        return returnList;
      }
      returnList.add(0);
      //returnList.add(aux*this.factor(direcX, direcY, false));
      returnList.add(0);
      return returnList;
    }
  