Skip to content

Instantly share code, notes, and snippets.

@ooredroxoo
Last active August 29, 2015 14:11
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ooredroxoo/344b1350a272b65cc2c8 to your computer and use it in GitHub Desktop.
Save ooredroxoo/344b1350a272b65cc2c8 to your computer and use it in GitHub Desktop.
Bolão da UBC
(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