【发布时间】:2020-10-17 21:52:27
【问题描述】:
我需要创建一个网页,其中有一个“开始青蛙游戏”按钮。 每当用户点击“开始青蛙游戏”按钮时: ● 按钮下方出现“您的分数为 0”的消息;
● 分数信息下,每半秒,5张图片中的一张会随机出现, 图像高度应为 150 像素;
●当用户点击青蛙图片时,用户获得1分,分数消息应相应更新;
● 当用户点击其他图片时,用户损失1分,相应更新分数消息(如果用户损失太多,分数可能变为负数);
● 当分数达到 5 时,用户赢得游戏并且游戏停止(图像停止变化),分数消息应显示“你的分数是 5。游戏结束 - 你赢了!”
● 当分数下降到-5,则用户输掉游戏并且游戏停止(图像停止变化),分数消息应显示“您的分数是-5。游戏结束——你输了!” 用户可以点击“开始青蛙游戏”按钮再次玩游戏,分数应该被重置为0。
我做了什么:
现在已经能够创建一个网页来计算任何图像被点击的次数,并让它在下面显示分数。
我需要什么帮助:
我似乎无法弄清楚如何仅在单击青蛙图像时使点数增加,然后仅在单击其他图像(不是青蛙)时使点数减少。 当分数达到 5(你赢)或 -5(你输)时,我也无法让图像停止。
这是我的代码:
function rollImages(){
var counter = 0;
var interval = setInterval(function () {
if (counter === 10000) {
clearInterval(interval);
return;
}
var imageValue = Math.floor(Math.random() * 5) + 1;
var imageFile = "img" + imageValue + ".png";
var theImage = document.getElementById("display");
theImage.src = imageFile;
counter++;
}, 500);
}
var scoreClick = 0;
function score(){
scoreClick = scoreClick + 1;
var scoreSpan = document.getElementById("scoreDisplay");
scoreSpan.innerHTML = scoreClick;
if (scoreClick == 5){
scoreDisplay.innerHTML = " Game over - you win!";
}
}
function minusScore(){
scoreClick = scoreClick - 1;
var scoreSpan = document.getElementById("scoreDisplay");
scoreSpan.innerHTML = scoreClick;
}
<button onClick="rollImages()">Start frog game</button>
<br /><br />
<img height='150px' id="display" onclick="score()">
<br /><br />
<p id="score">Your score is:
<span id="scoreDisplay">0</span></p>
【问题讨论】:
-
我们如何知道图像何时是青蛙图像?我可能遗漏了一些东西,但目前我无法看到如何区分图像,因为图像只是根据数字选择的。哪个是青蛙?
-
onClick 测试 img 的属性 'src' 是青蛙的属性。在您的 onclick 方法中接收“事件”参数。 event.target.src
标签: javascript html