def algoritmo_estrela_solitaria(nome, cartoletas, conteudo_csv, formacao, info): time_convocado = [] jogadores_por_setor = formacao.split("-") posicoes = [1, 2, 3, 4, 5, 6] num_jogadores_pos = util.get_num_jogadores_pos(formacao) custo_jogadores_pos = {} logging.debug("Length posicoes: {0}".format(len(posicoes))) posicao_sorteada_estrela = random.randint(1, len(posicoes) - 1) while num_jogadores_pos[posicao_sorteada_estrela] == 0: posicao_sorteada_estrela = random.randint(1, len(posicoes) - 1) jogador_convocado = convoca_por_posicao(cartoletas, conteudo_csv, 1, posicao_sorteada_estrela, info)[0] num_jogadores_pos[posicao_sorteada_estrela] -= 1 cartoletas_estrela = jogador_convocado[info["preco"]] cartoletas_restantes = cartoletas - cartoletas_estrela logging.debug("Jogador convocado: {0}".format(jogador_convocado)) logging.debug("Cartoletas restantes: {0}".format(cartoletas_restantes)) cartoletas_por_jogador = cartoletas_restantes / 11.0 for p in posicoes: custo_jogadores_pos[p] = num_jogadores_pos[p] * cartoletas_por_jogador if num_jogadores_pos[p] != 0: jogadores_convocados_pos = convoca_por_posicao( custo_jogadores_pos[p] / num_jogadores_pos[p], conteudo_csv, num_jogadores_pos[p], p, info) time_convocado.append(jogadores_convocados_pos) else: time_convocado.append([0]) setor_jogador_estrela = time_convocado[posicao_sorteada_estrela - 1] logging.debug( "Setor do jogador estrela: {0}".format(setor_jogador_estrela)) if len(setor_jogador_estrela) == 1 and setor_jogador_estrela[0] == 0: setor_jogador_estrela[0] = jogador_convocado else: setor_jogador_estrela.append(jogador_convocado) time_convocado[posicao_sorteada_estrela - 1] = setor_jogador_estrela logging.debug( "Time_convocado por Estrela Solitaria: {0}".format(time_convocado)) logging.debug("Custo do time {0}".format( mat_cartola.get_valor_indice_acumulado_time(time_convocado, info, "preco"))) logging.debug("Media do time {0}".format( mat_cartola.get_valor_indice_acumulado_time(time_convocado, info, "media"))) return time_convocado
def algoritmo_estrela_solitaria(nome, cartoletas, conteudo_csv, formacao, info): time_convocado = [] jogadores_por_setor = formacao.split("-") posicoes = [1, 2, 3, 4, 5, 6] num_jogadores_pos = util.get_num_jogadores_pos(formacao) custo_jogadores_pos = {} logging.debug ("Length posicoes: {0}".format(len(posicoes))) posicao_sorteada_estrela = random.randint(1, len(posicoes) - 1) while num_jogadores_pos[posicao_sorteada_estrela] == 0: posicao_sorteada_estrela = random.randint(1, len(posicoes) - 1) jogador_convocado = convoca_por_posicao (cartoletas, conteudo_csv, 1, posicao_sorteada_estrela, info)[0] num_jogadores_pos[posicao_sorteada_estrela] -= 1 cartoletas_estrela = jogador_convocado[info["preco"]] cartoletas_restantes = cartoletas - cartoletas_estrela logging.debug("Jogador convocado: {0}".format(jogador_convocado)) logging.debug("Cartoletas restantes: {0}".format(cartoletas_restantes)) cartoletas_por_jogador = cartoletas_restantes / 11.0 for p in posicoes: custo_jogadores_pos[p] = num_jogadores_pos[p] * cartoletas_por_jogador if num_jogadores_pos[p] != 0: jogadores_convocados_pos = convoca_por_posicao(custo_jogadores_pos[p] / num_jogadores_pos[p], conteudo_csv, num_jogadores_pos[p], p, info) time_convocado.append(jogadores_convocados_pos) else: time_convocado.append([0]) setor_jogador_estrela = time_convocado[posicao_sorteada_estrela - 1] logging.debug("Setor do jogador estrela: {0}".format(setor_jogador_estrela)) if len(setor_jogador_estrela) == 1 and setor_jogador_estrela[0] == 0: setor_jogador_estrela[0] = jogador_convocado else: setor_jogador_estrela.append(jogador_convocado) time_convocado[posicao_sorteada_estrela - 1] = setor_jogador_estrela logging.debug("Time_convocado por Estrela Solitaria: {0}".format(time_convocado)) logging.debug("Custo do time {0}".format(mat_cartola.get_valor_indice_acumulado_time(time_convocado, info, "preco"))) logging.debug("Media do time {0}".format(mat_cartola.get_valor_indice_acumulado_time(time_convocado, info, "media"))) return time_convocado
def algoritmo_balanceado (nome, cartoletas, conteudo_csv, formacao, info): cartoletas_por_jogador = cartoletas / (11.0 + 1.0) # print ("Voce pode gastar ate {0} por jogador.".format(cartoletas_por_jogador)) time_convocado = [] # Goleiro, Laterais, Zagueiros, Meias, Atacantes, Tecnico posicoes = [1, 2, 3, 4, 5, 6] num_jogadores_pos = util.get_num_jogadores_pos(formacao) custo_jogadores_pos = {} for p in posicoes: custo_jogadores_pos[p] = num_jogadores_pos[p] * cartoletas_por_jogador if num_jogadores_pos[p] != 0: jogadores_convocados_pos = convoca_por_posicao(custo_jogadores_pos[p] / num_jogadores_pos[p], conteudo_csv, num_jogadores_pos[p], p, info) time_convocado.append(jogadores_convocados_pos) else: time_convocado.append([0]) return time_convocado
def algoritmo_aleatorio (nome, cartoletas, conteudo_csv, formacao, info): cartoletas_por_jogador = cartoletas / (11.0 + 1.0) time_convocado = [] jogadores_por_setor = formacao.split("-") # Goleiro, Laterais, Zagueiros, Meias, Atacantes, Tecnico posicoes = [1, 2, 3, 4, 5, 6] num_jogadores_pos = util.get_num_jogadores_pos(formacao) custo_jogadores_pos = {} for p in posicoes: custo_jogadores_pos[p] = num_jogadores_pos[p] * cartoletas_por_jogador if num_jogadores_pos[p] != 0: jogadores_convocados_pos = convoca_aleatoriamente_por_posicao (custo_jogadores_pos[p] / num_jogadores_pos[p], conteudo_csv, num_jogadores_pos[p], p, info) time_convocado.append(jogadores_convocados_pos) else: time_convocado.append([0]) return time_convocado
def algoritmo_balanceado(nome, cartoletas, conteudo_csv, formacao, info): cartoletas_por_jogador = cartoletas / (11.0 + 1.0) # print ("Voce pode gastar ate {0} por jogador.".format(cartoletas_por_jogador)) time_convocado = [] # Goleiro, Laterais, Zagueiros, Meias, Atacantes, Tecnico posicoes = [1, 2, 3, 4, 5, 6] num_jogadores_pos = util.get_num_jogadores_pos(formacao) custo_jogadores_pos = {} for p in posicoes: custo_jogadores_pos[p] = num_jogadores_pos[p] * cartoletas_por_jogador if num_jogadores_pos[p] != 0: jogadores_convocados_pos = convoca_por_posicao( custo_jogadores_pos[p] / num_jogadores_pos[p], conteudo_csv, num_jogadores_pos[p], p, info) time_convocado.append(jogadores_convocados_pos) else: time_convocado.append([0]) return time_convocado
def algoritmo_aleatorio(nome, cartoletas, conteudo_csv, formacao, info): cartoletas_por_jogador = cartoletas / (11.0 + 1.0) time_convocado = [] jogadores_por_setor = formacao.split("-") # Goleiro, Laterais, Zagueiros, Meias, Atacantes, Tecnico posicoes = [1, 2, 3, 4, 5, 6] num_jogadores_pos = util.get_num_jogadores_pos(formacao) custo_jogadores_pos = {} for p in posicoes: custo_jogadores_pos[p] = num_jogadores_pos[p] * cartoletas_por_jogador if num_jogadores_pos[p] != 0: jogadores_convocados_pos = convoca_aleatoriamente_por_posicao( custo_jogadores_pos[p] / num_jogadores_pos[p], conteudo_csv, num_jogadores_pos[p], p, info) time_convocado.append(jogadores_convocados_pos) else: time_convocado.append([0]) return time_convocado