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

[Sugestão] Projeto Amigo Secreto

// Array para armazenar os nomes dos amigos
let amigos = [];

// Função para adicionar um amigo
function adicionar() {
    let inputNome = document.getElementById("nome-amigo");
    let nome = inputNome.value.trim(); // Remove espaços extras
    
    if (nome === "") {
        alert("Por favor, digite um nome válido.");
        return;
    }
    
    if (amigos.includes(nome)) {
        alert("Este nome já foi inserido!");
        return;
    }
    
    amigos.push(nome);
    atualizarListaAmigos();
    inputNome.value = ""; // Limpa o campo de entrada
}

// Função para atualizar a lista de amigos na interface
function atualizarListaAmigos() {
    document.getElementById("lista-amigos").innerText = amigos.join(", ");
}

// Função para realizar o sorteio
function sortear() {
    if (amigos.length < 2) {
        alert("Adicione pelo menos dois amigos para realizar o sorteio.");
        return;
    }
    
    if (amigos.length % 2 !== 0) {
        alert("O número de amigos deve ser par para realizar o sorteio. Adicione mais um amigo.");
        return;
    }
    
    let sorteio = [...amigos]; // Copia a lista para evitar alterar a original
    sorteio.sort(() => Math.random() - 0.5); // Embaralha a lista
    
    let pares = [];
    for (let i = 0; i < sorteio.length; i += 2) {
        pares.push(`${sorteio[i]} e ${sorteio[i + 1]}`);
    }
    
    document.getElementById("lista-sorteio").innerText = pares.join(" | ");
}

// Função para reiniciar o sorteio e limpar os campos
function reiniciar() {
    amigos = [];
    document.getElementById("lista-amigos").innerText = "";
    document.getElementById("lista-sorteio").innerText = "";
    document.getElementById("nome-amigo").value = "";
}
1 resposta
solução!

Olá, Marinaldo. Tudo bem?

Muito obrigado por compartilhar o seu código aqui com a gente. Parabéns pelo trabalho. Continue com essa dedicação.

Ótimo como você estruturou as funções para gerenciar a lista de amigos e realizar o sorteio, garantindo que o número de amigos seja par. Além disso, é interessante ver a validação para impedir que nomes duplicados sejam adicionados.

Uma curiosidade útil é o método Math.random(), que você já utilizou para embaralhar os nomes. Você sabia que ele pode ser combinado com o Math.floor() para gerar números aleatórios inteiros em um intervalo específico? Veja um exemplo simples de como usá-lo para gerar um número aleatório entre 1 e 100:


let numeroAleatorio = Math.floor(Math.random() * 100) + 1;
console.log(numeroAleatorio);

Essa técnica pode ser útil em situações em que você precisa de um número aleatório dentro de um intervalo definido.

Conte com o apoio do Fórum. Abraços e bons estudos.