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

[Projeto] Projeto do final do curso: sorteios estilo loteria

Quis pegar a base que foi ensinada nesse curso e tentar criar esse projeto. A ideia é que o usuário possa escolher em qual jogo quer apostar e que, no final, ele saiba se foi premiado ou não. Os jogos que estão no projeto são: mega-sena, lotofácil, quina e lotomania. Sei que sorteios estiveram presentes ao longo do curso e ficou "batido", mas a minha intenção com esse projeto foi tentar manipular um pouco mais os arrays. Estou aberto a sugestão ou para corrigir algum erro.

<meta charset="UTF-8">

<script>

function sorteia(baseDeDados){ 

    return Math.round(Math.random() * baseDeDados);

}

function definaBaseDeDados(quantidade){ // define o conjunto do qual se retirará os números do sorteio para cada tipo de jogo.
    var baseDeDadosF = [];
    var contador = 1;

    while(contador <= quantidade){

        baseDeDadosF.push(contador); 
        contador++
    }
    return baseDeDadosF;
}

function definaNumerosAdivinhar(base, quantidade){ // define os números do sorteio, de acordo com o tipo de jogo e a quantidade para ser premiado.

    var numerosParaAdivinharF = [];
    var contador = 0;

    while(contador < quantidade){

        var baseDeDadosFF = definaBaseDeDados(base);
        var numeroAleatorio = baseDeDadosFF[sorteia(base)];
        var achou = false;

        for(var posicao = 0; posicao <= numerosParaAdivinharF.length; posicao++){

            if(numerosParaAdivinharF[posicao] == numeroAleatorio){

                achou = true;
                break;
            }
        }

        if(achou == false){

            numerosParaAdivinharF.push(numeroAleatorio);
            contador++
        }
    }
    return numerosParaAdivinharF;
}

function defineAposta(quantidade){ // define os números que a pessoa irá apostar a depender do tipo de jogo.

    var apostaF = [];
    var contador = 1;

    while(contador <= quantidade){

        var achou = false;
        var numeroAposta = parseInt(prompt("Indique o número " + contador + "º entre 1 a " + jogoDefinido + " da aposta."));

        for(var posicao = 0; posicao < apostaF.length; posicao++){

            if(apostaF[posicao] == numeroAposta){

                achou = true;
                break;

            }
        }

        if(achou == false){

            apostaF.push(numeroAposta);
            contador++

        }
    }    


    return apostaF;
}

function compare(quantidade, minimo, tipoDeJogo){ // para comparar o que foi apostado com os números do sorteio.

    var achou = 0;
    var contador = 0;

    while(contador < quantidade){

        for(var posicao = 0; posicao < numerosParaAdivinhar.length; posicao++){

            if(aposta[contador] == numerosParaAdivinhar[posicao]){

                achou = achou + 1;

            }     
                else{

                    achou = achou;

                }

        }
        contador++;
    }


    if(achou == quantidade){

        alert("Você GANHOU a premiação TOTAL!");

    }

    if(achou >= minimo && achou < quantidade){

        alert("Você acertou " + achou + " números e foi premiado!");

    }

    if(achou < minimo){

        if(achou == 0 && (tipoDeJogo == "lotomania" || tipoDeJogo == 4)){

        alert("Você não acertou nenhum dos números sorteados e foi PREMIADO!");

        }    else{

                alert("Não foi dessa vez!");

            }

    }    

    return achou;
}

var jogoDefinido = 0;
var precisaAdivinhar = 0;
var minimoParaGanhar = 0;
var tipoDeJogo = prompt("Em qual jogo você quer apostar, entre: 1 - mega-sena, 2 - lotofácil, 3 - quina, 4 - lotomania.");

    if(tipoDeJogo == "mega-sena" || tipoDeJogo == 1){

        jogoDefinido = 60;
        precisaAdivinhar = 6;
        minimoParaGanhar = 4;
    }

    if(tipoDeJogo == "lotofácil" || tipoDeJogo == 2){

        jogoDefinido = 25;
        precisaAdivinhar = 15;
        minimoParaGanhar = 11;
    }

    if(tipoDeJogo == "quina" || tipoDeJogo == 3){

        jogoDefinido = 80;
        precisaAdivinhar = 5;
        minimoParaGanhar = 2;
    }

    if(tipoDeJogo == "lotomania" || tipoDeJogo == 4){

        jogoDefinido = 100;
        precisaAdivinhar = 20;
        minimoParaGanhar = 15;
    }

var baseDeDados = definaBaseDeDados(jogoDefinido);
console.log(baseDeDados);

var numerosParaAdivinhar = definaNumerosAdivinhar(jogoDefinido, precisaAdivinhar);
console.log(numerosParaAdivinhar);

var aposta = defineAposta(precisaAdivinhar);
console.log(aposta);

var correspondencia = compare(precisaAdivinhar, minimoParaGanhar, tipoDeJogo);
console.log(correspondencia);

</script>
1 resposta
solução!

Oi José Alberto

Muito bom! Seu programa está muito completo!

Parabéns pelo empenho nos estudos!

Continue praticando e qualquer dúvida pode contar com a gente.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software