Показать сообщение отдельно
  #1 (permalink)  
Старый 27.06.2020, 10:31
Интересующийся
Отправить личное сообщение для s4meone Посмотреть профиль Найти все сообщения от s4meone
 
Регистрация: 07.06.2020
Сообщений: 15

Игра "Что исчезло?". Почему исчезает только последнее число?
Здравствуйте, извините за го*но код пожалуйста, возникла проблема - делаю игру, где сначала рандомно появляются числа от 1 до 5, потом по прохождению пяти секунд одна исчезает. Я уже не знаю, что делать, обращаюсь к вам за помощью, почему исчезает только последнее число всегда? Можете помочь исправить это пожалуйста?
Вот код:
<div id="countdown">
  <h1>Осталось <span class="display">5</span> секунд</h1>
</div>
<h3 id="what"></h3>
<table>
        <tbody>
            <tr>
                <td id="1"></td>
                <td id="2"></td>
                <td id="3"></td>
                <td id="4"></td>
                <td id="5"></td>
            </tr>
        </tbody>
    </table>
<script>
    const text = ['1','2','3', '4', '5'];
    var i=1;
    var used = [];
    while (i!=6) {
        tdid = document.getElementById(i);
        var rtext = text[Math.floor(Math.random()*text.length)];
        var ind = text.indexOf(rtext);
        used.push(rtext);
        text.splice(ind, 1);
        tdid.textContent = rtext;
        i++;
    }
    if (i==6){
    var rndint= randomInteger(1,5);
    var ind2 = used.indexOf(rndint);
    used.splice(ind2,1);
    (function(d){
      var display = d.querySelector('#countdown .display')
        var timeLeft = parseInt(display.innerHTML)
      
      var timer = setInterval(function(){
        if (--timeLeft >= 0) {
            display.innerHTML = timeLeft
        } else {
            d.querySelector('#countdown h1').style.display = 'none'
          var j=1;
          while (j!=6){
            tdid = document.getElementById(j);
            tdid.textContent = ' ';
            j++;
            if (j==6){
        document.getElementById("what").textContent="Что исчезло?";
    }
    var k = 1;
    var f = 0;
    while (k!=5){
        tdid2 = document.getElementById(k);
        tdid2.textContent = used[f];
        f++;
        k++;
    }
          }
          clearInterval(timer)
        }
      }, 1000)
    })(document)
    }
    function randomInteger(min, max) {
  // получить случайное число от (min-0.5) до (max+0.5)
  let rand = min - 0.5 + Math.random() * (max - min + 1);
  return Math.round(rand);
}
</script>
Ответить с цитированием