[Bingo] - JavaScript
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
Clique aqui para fazer login e interagir na Comunidade :)