R/converter_formacao.R

Defines functions converter_formacao

Documented in converter_formacao

#' Converte ids de formação em vetores de número de jogadores por posição e
#' vice-versa.
#'
#' @param formacao Um id númerico de formação (1 a 7) ou um vetor de tamanho 6
#' com o número de jogadores por posição, na ordem: gol, lat, zag, mei, ata, tec.
#' @return Vetor de tamanho 6 com o número de jogadores por posição, quando a
#' entrada é um número. Id numérico da formação, quando a entrada é um vetor.
#' @seealso \code{\link{aleatorizar_time}} aleatoriza um time válido.
#' @seealso \code{\link{escalar_time}} escala o time.
#' @import httr
#' @import jsonlite
#' @import magrittr
#' @import dplyr
#' @import purrr
#' @examples
#' # ordem: g, l, z, m, a, t
#' converter_formacao(c(1, 2, 2, 4, 2, 1))
#' converter_formacao(4)
#' @export
converter_formacao <- function(formacao) {
  formacoes_possiveis <- list(
    # (g, l, z, m, a, t)
    c(1, 0, 3, 4, 3, 1),
    c(1, 0, 3, 5, 2, 1),
    c(1, 2, 2, 3, 3, 1),
    c(1, 2, 2, 4, 2, 1),
    c(1, 2, 2, 5, 1, 1),
    c(1, 2, 3, 3, 2, 1),
    c(1, 2, 3, 4, 1, 1)
  )
  if (length(formacao) == 1) {
    formacoes_possiveis %>% pluck(formacao)
  } else {
    formacoes_possiveis %>%
      map_lgl(function(x) all(x == formacao)) %>%
      which()
  }
}
assuncaolfi/cartolr documentation built on July 12, 2019, 4:16 a.m.