#' Aleatoriza um time válido no mercado atual.
#'
#' @return Data.frame com um time válido no mercado atual.
#' @param cartoletas Opcional. Custo máximo do time, em cartoletas. O padrão
#' é ilimitado.
#' @param formacao Opcional. Formação do time. O padrão é uma formação
#' aleatória.
#' @seealso \code{\link{pegar_mercado}} retorna o mercado.
#' @seealso \code{\link{login}} retorna um token de autenticação.
#' @seealso \code{\link{pegar_cartoletas}} retorna as cartoletas da conta.
#' @examples
#' time_valido <- aleatorizar_time()
#'
#' login(email, conta) %>%
#' escalar_time(time_valido)
#' @import httr
#' @import jsonlite
#' @import magrittr
#' @import dplyr
#' @import purrr
#' @export
aleatorizar_time <- function(cartoletas = Inf,
formacao = sample(1:7, 1)) {
valido <- FALSE
escolhas <- pegar_mercado()
while (!valido) {
time <-
escolhas %>%
arrange(posicao_id) %>%
group_by(posicao_id) %>%
nest() %>%
mutate(
n_amostra = converter_formacao(formacao),
amostra = map2(data, n_amostra, sample_n)
) %>%
select(posicao_id, amostra) %>%
unnest()
custo <- sum(pull(time, preco_num))
valido <- custo <= cartoletas
}
time %>%
transmute(
id = atleta_id,
posicao = posicao_id,
capitao = sample(c(rep(FALSE, 11), TRUE))
)
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.