Advertisement
Guest User

Balões

a guest
Sep 23rd, 2019
174
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. var timerId = null; //variável que armazena a chamada da função timeout
  2.  
  3. function iniciaJogo() {
  4.  
  5.     var url = window.location.search;
  6.  
  7.     var nivel_jogo = url.replace("?", "");
  8.  
  9.     var tempo_segundos = 0;
  10.  
  11.     if (nivel_jogo == 1) { //1 fácil -> 120segundos
  12.         tempo_segundos = 120;
  13.     }
  14.  
  15.     if (nivel_jogo == 2) { //2 normal -> 60segundos
  16.         tempo_segundos = 60;
  17.     }
  18.  
  19.     if (nivel_jogo == 3) { //3 difícil -> 30segundos
  20.         tempo_segundos = 30;
  21.     }
  22.  
  23.     //inserindo segundos no span
  24.     document.getElementById('cronometro').innerHTML = tempo_segundos;
  25.  
  26.     // quantidade de balões
  27.     var qtde_baloes = 80;
  28.  
  29.     cria_baloes(qtde_baloes);
  30.  
  31.     //imprimir qtde baloes inteiros
  32.     document.getElementById('baloes_inteiros').innerHTML = qtde_baloes;
  33.     document.getElementById('baloes_estourados').innerHTML = 0;
  34.  
  35.     contagem_tempo(tempo_segundos + 1)
  36.  
  37. }
  38.  
  39. function contagem_tempo(segundos) {
  40.  
  41.     segundos = segundos - 1;
  42.  
  43.     if (segundos == -1) {
  44.         clearTimeout(timerId); //para a execução da função do settimeout
  45.         game_over();
  46.         return false;
  47.     }
  48.  
  49.     document.getElementById('cronometro').innerHTML = segundos;
  50.  
  51.     timerId = setTimeout("contagem_tempo(" + segundos + ")", 1000);
  52. }
  53.  
  54. function game_over() {
  55.     remove_eventos_baloes();
  56.     alert('Fim de jogo, você não conseguiu estourar todos os balões a tempo');
  57. }situacao_jogo:
  58.  
  59. function cria_baloes(qtde_baloes) {
  60.  
  61.     for (var i = 1; i <= qtde_baloes; i++) {
  62.  
  63.         var balao = document.createElement("img");
  64.         balao.src = 'imagens/balao_azul_pequeno.png';
  65.         balao.style.margin = '10px';
  66.         balao.id = 'b' + i;
  67.         balao.onclick = function () { estourar(this); };
  68.  
  69.         document.getElementById('cenario').appendChild(balao);
  70.     }
  71. }
  72.  
  73. function estourar(e) {
  74.  
  75.     var id_balao = e.id;
  76.  
  77.     document.getElementById(id_balao).setAttribute("onclick", "")
  78.     document.getElementById(id_balao).src = 'imagens/balao_azul_pequeno_estourado.png';
  79.  
  80.     pontuacao(-1);
  81.  
  82. }
  83.  
  84. function pontuacao(acao) {
  85.  
  86.     var baloes_inteiros = document.getElementById('baloes_inteiros').innerHTML;
  87.     var baloes_estourados = document.getElementById('baloes_estourados').innerHTML;
  88.  
  89.     baloes_inteiros = parseInt(baloes_inteiros);
  90.     baloes_estourados = parseInt(baloes_estourados);
  91.  
  92.     baloes_inteiros = baloes_inteiros + acao;
  93.     baloes_estourados = baloes_estourados - acao;
  94.  
  95.     document.getElementById('baloes_inteiros').innerHTML = baloes_inteiros;
  96.     document.getElementById('baloes_estourados').innerHTML = baloes_estourados;
  97.  
  98.     situacao_jogo(baloes_inteiros);
  99.  
  100.  
  101. }
  102.  
  103. function situacao_jogo(baloes_inteiros) {
  104.     if (baloes_inteiros == 0) {
  105.         alert('Parabéns, você conseguiu estourar todos os balões a tempo');
  106.         parar_jogo();
  107.     }
  108. }
  109.  
  110. function parar_jogo() {
  111.     clearTimeout(timerId);
  112. }
  113.  
  114. function remove_eventos_baloes() {
  115.     var i = 1; //contado para recuperar balões por id
  116.  
  117.     //percorre o lementos de acordo com o id e só irá sair do laço quando não houver correspondência com elemento
  118.     while (document.getElementById('b' + i)) {
  119.         //retira o evento onclick do elemnto
  120.         document.getElementById('b' + i).onclick = '';
  121.         i++; //faz a iteração da variávei i
  122.     }
  123. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement