anchor.diff:    
     void move() 
     {
  -    Grid testGrid = Game.getCurrentGameState().getGrid().clone();
  -    Grid moveGrid = testGrid.clone();
  +    Grid testGrid = Game.getCurrentGameState().getGrid().clone(); //this is the current grid getting it from currentGameState
  +    Grid moveGrid = testGrid.clone(); //we use this to simulate the moves and not lose the current grid
       int moves = Game.getCurrentGameState().getMoves();
  -    List<int> decrecimientos = new List<int>();
  +    List<int> decrecimientos = new List<int>(); //array that will contain the different amount of decrecimientos from up/down/left/right
       List<Move> moveList = new List<Move>();
       int count = 0;
       List<int> punto = this.puntoMasGrande(testGrid);
       
  +    //no importa mucho esta parte, solo corro donde comienzan los caminos a las esquinas
  +    //muy probablemente lo cambie
       punto[0] = ((punto[0]+0.25)/2.0).truncate()*3;
       punto[1] = ((punto[1]+0.25)/2.0).truncate()*3;
       
  
positive.code:       grid.setElement(x, y, aux);
        elements++;
      }
      if(elements != 0)
      {
        int maxcount = 0;
        for(int i=1; i<elements; i++)
        {
          if(addedcount[i] > addedcount[maxcount])
          {
            maxcount = i;
          }
  
negative.code:       grid.setElement(x, y, aux);
        elements++;
      }
      if(this.outOfBounds(x-1,y) == false && grid.getElement(x, y) >= grid.getElement(x-1, y)) //izquierda
      {
        grid.setElement(x, y, max);
        auxList = this.maxDecrecimientosList(grid,x-1,y);
  