Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Projeto] Mais verificações

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?

1 resposta
solução!

Muito legal cara, bem claro, perfeitamente espaçado e concatenado na minha opinião. Parebéns!