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>