Euromilhões
HTML
<label for="numero_de_tickets">Numero de Tickets</label><input type="text" name="numero_de_tickets" value="1" id="numero_de_tickets"><br />
<button id="empregado_do_balcao">Comprar ao empregado do balcão</button><br />
<button id="boazona_do_sorteio">Ver a boazona do Sorteio</button>
CSS
.aposta{
overflow: hidden;
width: 100%;
margin: 10px;
background-color: pink;
}
.numero,
.estrela,
.escolhido,
.sorte{
display: block;
width: 25px;
margin: 5px;
float: left;
cursor: pointer;
text-align: center;
font-family: Helvetica, Arial, sans-serif;
}
.numero{background-color: blue;}
.estrela{background-color: yellow;}
.escolhido{background-color: red;}
.sorte{background-color: green;}
JavaScript
var EuroMilhoes = function() {
var that = this,
d = document;
this.opcoes = {
numeros: 50,
estrelas: 9,
limiteNumerosEscolhidos: 5,
limiteEstrelasEscolhidas: 2
};
this.apostasRealizadas = [];
this.sorteioNumeros = [];
this.sorteioEstrelas = [];
/*
Visto que o objectivo e usar arrays... vou usar dois porque é uma tanga fazer arrays multi-dimensionais, em vez de objectos...
Já está aí um multidimensional para quem quiser!
*/
this.sorteNumeros = [];
this.sorteEstrelas = [];
this.geraSorteio = function() {
if (!that.sorteioNumeros.length && !that.sorteioEstrelas.length) {
for (var i = that.opcoes.limiteNumerosEscolhidos; i--;) {
that.sorteioNumeros.push(Math.ceil(Math.random() * that.opcoes.numeros));
}
for (var n = that.opcoes.limiteEstrelasEscolhidas; n--;) {
that.sorteioEstrelas.push(Math.ceil(Math.random() * that.opcoes.estrelas));
}
that._verificaSorteio();
} else {
alert("Espera ate a proxima semana!\n Ou entao compra mais!");
}
};
this.numeroDeApostas = function(NrApostas) {
for (var i = NrApostas; i--;) {
that.apostasRealizadas[i] = [];
that.apostasRealizadas[i].numeros = "";
that.apostasRealizadas[i].estrelas = "";
that._criaNumeros(i);
that._criaEstrelas(i);
}
};
this.escolhidosPeloUser = function(event) {
var elemento = event.target,
findNumber = /[0-9]/,
aposta = elemento.parentNode.className.match(findNumber),
numero = elemento.innerHTML;
/*
Descobrir se é um numero ou uma estrela.
*/
if (elemento.className.indexOf('numero') > -1) {
//é um numero
var limitNumeros = that.apostasRealizadas[aposta].numeros.split(',');
if...