我写了一个小小的浏览器游戏。某处出错。需要帮助
规则很简单:您有15秒的时间来决定是否知道屏幕上写的名字。
你有两个按钮:“我知道”/“放弃” - 取决于你想要选择什么。
如果您选择“放弃”(或时间结束)照片1出现。否则,将显示照片2。
整个操作是循环的。
这里是我的问题:我想从数组“单词”中随机选择一个名称,所以我写了函数“random_word()”。我把它放到了“timer()”,“投降()”和“获胜()”的功能中。但它不起作用。
我刚刚开始编程,所以我会很感激可能最容易理解的代码。感谢所有帮助。
这里是我的代码:
<!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