Last active
August 29, 2015 14:11
-
-
Save ooredroxoo/344b1350a272b65cc2c8 to your computer and use it in GitHub Desktop.
Bolão da UBC
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(function () { | |
// Função que dá as bolas numeradas para o sorteio | |
var getBolas = function () { | |
var numPossiveis = []; | |
for (var i = 1; i < 61; i++) { | |
numPossiveis.push(i); | |
} | |
return numPossiveis; | |
}; | |
// Função que simula o sorteio. | |
var sorteia = function () { | |
var bolasDoSorteio = getBolas(); | |
var numerosSorteados = []; | |
for( var i = 0; i < 6; i++ ) { | |
var index = Math.floor((Math.random()*bolasDoSorteio.length)); | |
var num = bolasDoSorteio[index]; | |
if (num < 10) { | |
num = '0'+bolasDoSorteio[index]; | |
} else { | |
num = ''+bolasDoSorteio[index]; | |
} | |
numerosSorteados.push(num); | |
bolasDoSorteio.splice(index,1); | |
} | |
numerosSorteados = numerosSorteados.sort(); | |
return numerosSorteados; | |
}; | |
// Função que converte um jogo para string | |
var jogoToString = function (jogo) { | |
var strJogo = ''; | |
jogo = jogo.sort(); | |
while(jogo.length > 0) { | |
var num = jogo.shift(); | |
strJogo += '' + num + ' '; | |
} | |
return strJogo; | |
}; | |
// Função que imprime jogos | |
var printJogos = function (osjogos) { | |
var strImpressao = ''; | |
if(typeof osjogos === 'object' && osjogos.length > 0) { | |
for(var i in osjogos) { | |
strImpressao += 'Jogo '+((i*1)+1)+":\t"; | |
strImpressao += jogoToString(osjogos[i]) + "\n"; | |
} | |
} | |
console.log(strImpressao); | |
}; | |
// Esse é o ajudante da função mágica, ele faz uma coisa que deveria existir na linguagem, ele checa se determinado elemento existe na array. Bem temos que esperar até o ECMA7 de qualquer forma. | |
var verificaSeExiste = function (valor, arrayValores) { | |
var existe = false; | |
for (var i in arrayValores) { | |
if(arrayValores[i] == valor) { | |
existe = true; | |
break; | |
} | |
} | |
return existe; | |
}; | |
// Essa função é mágica, ela garante que não teremos jogos repetidos. | |
var sorteiaNovoNumero = function (numerosJaSorteados) { | |
var umsorteio = sorteia(); | |
while(verificaSeExiste(umsorteio, numerosJaSorteados)) { | |
umsorteio = sorteia(); | |
} | |
return umsorteio; | |
}; | |
var jogos = []; // Array que guarda os jogos. | |
var numJogos = parseInt(prompt('Insira o número de jogos.')); // numero de jogos. | |
isNaN(numJogos) && (numJogos = 1); // Caso algum idiota passe uma letra ou algo do tipo, fazemos apenas um jogo! | |
for (var i = 0; i < numJogos; i++) { | |
jogos.push(sorteiaNovoNumero()); | |
} | |
printJogos(jogos); | |
} ()); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment