holes[index] = 0;
}, 1000);
$gopher.classList.remove('hidden');
} else if (Math.random() < bombPercent) {
const $bomb = $$cells[index].querySelector('.bomb');
holes[index] = setTimeout(() => { // 1초 뒤에 사라짐
$bomb.classList.add('hidden');
holes[index] = 0;
}, 1000);
$bomb.classList.remove('hidden');
}
});
}
Math.random() 메서드로 무작위 값을 얻을 수 있습니다. 두더지 확률이 30%라서 0.3으로 설정했는데, 폭탄 확률(20%)은 0.2가 아닌 0.5입니다. 그리고 빈 구멍 확률은 아예 설정하지 않았습니다. 그 이유는 if 문을 보면 알 수 있습니다. Math.random()의 결과가 0부터 0.3까지는 두더지를 표시하고, 0.3부터 0.5까지는 폭탄을 표시합니다. 그 이후는 무시합니다.
이렇게 해서 tick() 함수를 실행할 때마다 구멍에서 두더지나 폭탄 중 어떤 것이 나올지 결정할 수 있습니다. 두더지, 폭탄, 빈 구멍의 확률을 시간 흐름에 따라 조정하면 게임 난이도를 조절할 수도 있습니다.