Adicionei as verificações comentadas pelos professores e quero mostrar o código para vocês.
var listaDeAmigos = [];
var amigosForamSorteados = false;
function adicionar() {
let amigo = document.getElementById("nome-amigo").value;
amigo = amigo.trim();
if (amigosForamSorteados == false) {
if (amigo.length == 0) {
alert("Digite o nome do amigo!!");
} else if (listaDeAmigos.includes(amigo)) {
alert("Amigo já foi adicionado!!");
} else {
listaDeAmigos.push(amigo);
let lista = document.getElementById("lista-amigos");
lista.innerHTML = listaDeAmigos;
document.getElementById("nome-amigo").value = "";
}
} else {
alert("Amigos já foram sorteados, reinicie o jogo para sortear novamente!!");
}
}
function sortear() {
if (listaDeAmigos.length >= 3) {
if (amigosForamSorteados == false) {
listaDeAmigos.sort();
let amigosEmbaralhados = document.getElementById("lista-sorteio");
let i = 0;
while (i < listaDeAmigos.length) {
for (let j = 0; j < listaDeAmigos.length; j++) {
if (listaDeAmigos[i] != listaDeAmigos[j] && i < listaDeAmigos.length) {
console.log(i + " " + listaDeAmigos[i] + " != " + listaDeAmigos[j] + " " + j);
amigosEmbaralhados.innerHTML += listaDeAmigos[i] + " -> " + listaDeAmigos[j] + "<br>";
i++;
}
}
}
amigosForamSorteados = true;
} else {
alert("Amigos já foram sorteados, reinicie o jogo para sortear novamente!!");
}
} else {
alert("Adicione pelo menos 3 amigos para poder sortear!!");
}
}
function reiniciar() {
listaDeAmigos = [];
document.getElementById("lista-amigos").innerHTML = "";
document.getElementById("lista-sorteio").innerHTML = "";
document.getElementById("nome-amigo").value = "";
amigosForamSorteados = false;
}
A variável amigosForamSorteados
serve para controlar o número de sorteio, porque se os amigos já foram sorteados uma vez, o jogador terá de reiniciar o jogo para sortear novamente.
amigo = amigo.trim();
serve para remover os espaços em branco entre uma String.
else if (listaDeAmigos.includes(amigo)) { alert("Amigo já foi adicionado!!"); }
verifica se o amigo já foi adicionado.
if (listaDeAmigos.length >= 3) {}
tem que ter pelo menos 3 ou mais amigos na lista para ter sorteio.
if (amigosForamSorteados == false) { }
após o sorteio, terá de reiniciar o jogo para sortear novamente.
amigosForamSorteados = false;
quando reiniciado o jogo, o usuário poderá sortear novamente.
O que acharam do código? Deu para entender bem?