// Criar um array com os nomes dos jogadores var jogadores = ["João", "Maria", "Pedro", "Ana", "Carlos", "Luiza", "Ricardo", "Fernanda", "Bruno", "Julia", "Marcos", "Leticia", "Daniel", "Camila", "Paulo", "Bianca"]; // Criar um array com os nomes dos goleiros var goleiros = ["Roberto", "Lucas", "Gabriel", "Mariana", "Rafael", "Isabela", "Leonardo", "Alice"]; // Criar um array com os nomes dos times var times = ["A", "B", "C", "D"]; // Criar uma função para embaralhar um array function embaralhar(array) { var indice_atual = array.length, valor_temporario, indice_aleatorio; // Enquanto ainda existir elementos para embaralhar... while (0 !== indice_atual) { // Escolher um elemento aleatório indice_aleatorio = Math.floor(Math.random() * indice_atual); indice_atual -= 1; // E trocar de lugar com o elemento atual valor_temporario = array[indice_atual]; array[indice_atual] = array[indice_aleatorio]; array[indice_aleatorio] = valor_temporario; } return array; } // Embaralhar os arrays de jogadores e goleiros jogadores = embaralhar(jogadores); goleiros = embaralhar(goleiros); // Criar um objeto para armazenar os times sorteados var times_sorteados = {}; // Criar uma variável para contar os jogadores var contador = 0; // Percorrer o array de times for (var i = 0; i < times.length; i++) { // Criar um array vazio para cada time times_sorteados[times[i]] = []; // Adicionar um goleiro sorteado ao time times_sorteados[times[i]].push(goleiros[i]); // Adicionar quatro jogadores sorteados ao time for (var j = 0; j < 4; j++) { times_sorteados[times[i]].push(jogadores[contador]); contador++; } } // Exibir os times sorteados no console console.log(times_sorteados); // Criar uma função para marcar um jogo entre dois times function marcar_jogo(time1, time2) { // Exibir os nomes dos times no console console.log("Jogo entre time " + time1 + " e time " + time2); // Gerar um resultado aleatório entre 0 e 5 para cada time var resultado1 = Math.floor(Math.random() * 6); var resultado2 = Math.floor(Math.random() * 6); // Exibir os resultados no console console.log("Resultado: " + time1 + " " + resultado1 + " x " + resultado2 + " " + time2); // Retornar um array com os nomes dos times e os resultados return [time1, resultado1, time2, resultado2]; } // Criar uma função para eliminar um jogador de um time function eliminar_jogador(time, jogador) { // Encontrar o índice do jogador no array do time var indice = times_sorteados[time].indexOf(jogador); // Se o jogador for encontrado... if (indice > -1) { // Remover o jogador do array do time times_sorteados[time].splice(indice, 1); // Exibir uma mensagem no console console.log("Jogador " + jogador + " eliminado do time " + time); } else { // Exibir uma mensagem de erro no console console.log("Jogador " + jogador + " não encontrado no time " + time); } } // Exemplo de uso das funções // Marcar um jogo entre o time A e o time B var jogo1 = marcar_jogo("A", "B"); // Eliminar o jogador que perdeu do time A eliminar_jogador("A", jogo1[0] < jogo1[2] ? times_sorteados["A"][0] : times_sorteados["B"][0]); // Marcar um jogo entre o time C e o time D var jogo2 = marcar_jogo("C", "D"); // Eliminar o jogador que perdeu do time C eliminar_jogador("C", jogo2[0] < jogo2[2] ? times_sorteados["C"][0] : times_sorteados["D"][0]); // Marcar um jogo entre os times que ganharam var jogo3 = marcar_jogo(jogo1[0] > jogo1[2] ? jogo1[0] : jogo1[2], jogo2[0] > jogo2[2] ? jogo2[0] : jogo2[2]); // Eliminar o jogador que perdeu do time que ganhou o primeiro jogo eliminar_jogador(jogo1[0] > jogo1[2] ? jogo1[0] : jogo1[2], jogo3[0] < jogo3[2] ? times_sorteados[jogo3[0]][0] : times_sorteados[jogo3[2]][0]); // Exibir os times restantes no console console.log(times_sorteados);