anchor.diff:            count++;
           }
         }
  -      aux = this.maxDecrecimientosList(moveGrid,punto[0],punto[1]);
  -      decrecimientos.add(aux[1]);
  -      moveList.add(Move.down);
  -      count++;
  -    }
  +    }
  +    prevMoves = this.cloneList(pMoves,amountMoves);
       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(isInList(prevMoves, amountMoves, Move.left) == false && moveGrid.compareGrid(testGrid) != 0)
  +    {
  +      aux = this.maxDecrecimientosList(moveGrid,punto[0],punto[1],true);
  +      decrecimientos.add(aux[1]);
  +      moveList.add(Move.right);
  +      count++;
  +      if(depth != 0 && aux[1] != 0)
  +      {
  +        prevMoves.add(Move.right);
  +        temp = this.getMove(moveGrid, punto, depth-1, prevMoves, amountMoves+1);
           if(temp != -1)
           {
             decrecimientos.add(temp);
  
positive.code:     Game.move(this.globalMove);
    }
    
    int getMove(Grid testGrid, List<int> punto, bool limit, Move prevMove)
    {
      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> aux = new List<int>();
  
negative.code:         }
        }
      }
      return punto;
    }
    
    bool enEsquina(List<int> punto)
    {
      List<int> auxpunto = new List<int>();
      auxpunto.add(0);
      auxpunto.add(0);
      auxpunto[0] = ((punto[0]+0.25)/2.0).truncate()*3;
      auxpunto[1] = ((punto[1]+0.25)/2.0).truncate()*3;
      return (punto[0]==auxpunto[0] && punto[1]==auxpunto[1]);
    }
    
    List<Move> cloneList(List<Move> moves, int amount)
    {
      List<Move> list = new List<Move>();
      for(int i=0; i<amount; i++)
      {
        list.add(moves[i]);
      }
      return list;
    }
    
    bool isInList(List<Move> list, int length, Move element)
    {
      for(int i=0; i<length; i++)
      {
        if(list[i] == element)
        {
          return true;
        }
      }
      return false;
    }
  }