Fórum [Bingo] - JavaScript #603130
20/06/2019
0
Boa noite galera,
Sou novo aqui, pesquisei e não encontrei um padrão para postar dúvidas.
Vamos lá, minha dúvida é a seguinte: Eu preciso criar uma espécie de "bingo", no html eu tenho 9 divs e cada uma possuí um número dentro de um span, eu criei um botão que gera os números aleatórios e quando esse número aleatório for igual algum dos números dentro do span, então trocar o background, até que 3 spans na horizontal ou vertical possuam a mesma cor e exiba uma msg 'Bingo'.
Segue o código abaixo.
JS
essa forma que estou tentando fazer a validação é possível ou seria melhor criar um vetor com os valores iguais aos do span e tentar validar por ele
Sou novo aqui, pesquisei e não encontrei um padrão para postar dúvidas.
Vamos lá, minha dúvida é a seguinte: Eu preciso criar uma espécie de "bingo", no html eu tenho 9 divs e cada uma possuí um número dentro de um span, eu criei um botão que gera os números aleatórios e quando esse número aleatório for igual algum dos números dentro do span, então trocar o background, até que 3 spans na horizontal ou vertical possuam a mesma cor e exiba uma msg 'Bingo'.
Segue o código abaixo.
<h1 class="text-center">Teste Bingo</h1>
<div class="num text-center">
<p id="numSorteio"></p>
</div>
<div class="sorteio col-12 text-center">
<a href="#" class="btn btn-primary text-center btn-randow" onclick="gerarAleatorio()">sorteio</a>
</div>
<div class="container">
<div class="row">
<div class="col-sm" value="3"><span>3</span></div>
<div class="col-sm" value="8"><span>8</span></div>
<div class="col-sm" value="10"><span>10</span></div>
</div>
<div class="row">
<div class="col-sm" value="14"><span>14</span></div>
<div class="col-sm" value="20"><span>20</span></div>
<div class="col-sm" value="28"><span>28</span></div>
</div>
<div class="row">
<div class="col-sm" value="32"><span>32</span></div>
<div class="col-sm" value="40"><span>40</span></div>
<div class="col-sm" value="49"><span>49</span></div>
</div>
</div>JS
var sorteio = document.querySelector('p#numSorteio')
var sortNum = sorteio.innerHTML
function gerarAleatorio(){
var numAleatorio = Math.floor(Math.random() * 50)
sorteio.innerHTML = numAleatorio
}
function verificar (){
let numerosDoSorteio = document.querySelectorAll('span')
num = numerosDoSorteio
for(num of numerosDoSorteio){
console.log(num.innerHTML)
if(num == sortNum){
console.log('Mudou a cor')
}
}
}
verificar()essa forma que estou tentando fazer a validação é possível ou seria melhor criar um vetor com os valores iguais aos do span e tentar validar por ele
Danilo Alves
Curtir tópico
+ 0
Responder
Posts
21/06/2019
Danilo Alves
Eu consegui fazer a verificação se os números são iguais.
Agora para verificar se os span da mesma linha ou coluna possuem a mesma classe, com JQuery
teria algo parecido com $(".span-bingo").hasClass(".numeroSorteado"), como fazer essa verificação com JS puro?
Agora para verificar se os span da mesma linha ou coluna possuem a mesma classe, com JQuery
teria algo parecido com $(".span-bingo").hasClass(".numeroSorteado"), como fazer essa verificação com JS puro?
<h1 class="text-center">Teste Bingo</h1>
<div class="num text-center">
<p id="numSorteio"></p>
</div>
<div class="sorteio col-12 text-center">
<a href="#" id="bt-gerar" class="btn btn-primary text-center btn-randow" >sorteio</a>
</div>
<div class="container">
<div class="row">
<div class="col-sm" value="3"><span class="span-bingo l1">3</span></div>
<div class="col-sm" value="8"><span class="span-bingo l1">8</span></div>
<div class="col-sm" value="10"><span class="span-bingo l1">10</span></div>
</div>
<div class="row">
<div class="col-sm" value="14"><span class="span-bingo l2">14</span></div>
<div class="col-sm" value="20"><span class="span-bingo l2">20</span></div>
<div class="col-sm" value="28"><span class="span-bingo l2">28</span></div>
</div>
<div class="row">
<div class="col-sm" value="32"><span class="span-bingo l3">32</span></div>
<div class="col-sm" value="40"><span class="span-bingo l3">40</span></div>
<div class="col-sm" value="49"><span class="span-bingo l3">49</span></div>
</div>
</div>var sorteio = document.querySelector('p#numSorteio')
var sortNum = sorteio.innerHTML
var numAleatorio
document.getElementById("bt-gerar").onclick = gerarAleatorio = () =>{
numAleatorio = Math.floor(Math.random() * 50)
sorteio.innerHTML = numAleatorio
var divs = document.querySelectorAll('span'), i;
for (i = 0; i < divs.length; ++i) {
if(divs[i].innerText == numAleatorio){
console.log(divs)
divs[i].classList.remove("span-bingo")
divs[i].classList.add("numeroSorteado")
}
}
}
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)