Я написал небольшую браузерную игру.Маленькая ошибка где-то. Необходимая помощь
Правила легки: у вас есть 15 секунд, чтобы решить, знаете ли вы имя, записанное на экране.
У вас есть две кнопки: «Я знаю»/«сдаюся» - зависит от того, что вы хотите выбрать.
Если вы выберете «сдаться» (или закончится время), появится фотография 1. В противном случае будет показано фото 2.
Вся операция выполнена в виде петли.
Вот мой вопрос: я хотел выбрать случайное имя из массива «word» каждый раунд, поэтому я написал функцию «random_word()». Я помещал его в функции «timer()», «surrender()» и «win()». Но это не сработает.
Я только начинаю с программирования, поэтому буду благодарен за возможно самый простой способ понять код. Спасибо за помощь.
Вот мой код:
<!DOCTYPE html>
<html>
<head>
<style>
</style>
<script src="/scripts/snippet-javascript-console.min.js?v=1"></script>
</head>
<body>
<button id= "btnSurrender">give up</button>
<button id= "btnWinning">i know</button>
<p id="seconds">15</p>
<div id="photo"></div>
<script type="text/javascript">
var word = new Array(3);
word[0] = "Michael";
word[1] = "Simon";
word[2] = "Peter";
word[3] = "Mark";
function random_word(){
var randomWord = word[Math.floor(Math.random()*word.length)]
}
var btn1 = document.getElementById("btnSurrender");
var btn2 = document.getElementById("btnWinning");
var pic = document.getElementById("photo");
var secondsP = document.getElementById('seconds');
var clock = null;
btn1.addEventListener("click", surrender);
btn2.addEventListener("click", winning);
function timer() {
random_word();
clearInterval(clock);
var start = new Date().getTime();
clock = setInterval(function() {
pic.innerHTML='<img src="" alt="">';
var seconds = Math.round(15 - (new Date().getTime() - start)/1000);
if (seconds >= 0) {
secondsP.textContent = seconds;
} else {
clearInterval(clock);
}
if (seconds === 0) {
pic.innerHTML='<img src="mops bops.png" alt="">';
}
}, 1000);
}
function surrender(){
clearInterval(clock);
pic.innerHTML='<img src="mops bops.png" alt="">';
secondsP.textContent = 0;
setTimeout(timer,2000);
word[Math.floor(Math.random()*word.length)]
random_word();
}
function winning(){
clearInterval(clock);
pic.innerHTML='<img src="mopsik.jpg" alt="">';
secondsP.textContent = 0;
setTimeout(timer,2000);
word[Math.floor(Math.random()*word.length)]
random_word();
}
timer();
document.write(randomWord)
setInterval(timer, 17000)
</script>
</body>
</html>
'var randomWord' определяется только функцией' random_word() '. Это может быть проблема с областью (где видимая переменная называется «областью»). Попробуйте консольный журнал сразу после 'var randomWord = ...'. Я думаю, что сама линия выглядит хорошо. – amenthes