3 回答
TA贡献1877条经验 获得超6个赞
您需要一种方法来识别当前图像是否是青蛙。您可以通过随时向图像添加一个类rollImages()、检查其来源或为其提供 ID 来执行此操作:
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;
if (imageValue === 1) { // <--- Whatever imageValues correspond to frogs
theImage.classList.add("frog");
} else {
theImage.classList.remove("frog");
}
counter++;
}, 500);
}
然后你的score函数(你只需要一个)可以确定图像是否具有“青蛙”类,添加或删除一个点,并在需要时触发残局状态:
function score(event) {
var img = event.target;
if (img.classList.contains("frog") {
scoreClick += 1;
} else {
scoreClick -+ 1;
}
var scoreSpan = document.getElementById("scoreDisplay");
if (scoreClick >= 5) {
scoreSpan.innerHTML = " Game over - you win!";
return;
}
if (scoreClick <= -5) {
scoreSpan.innerHTML = "LOSER!";
return;
}
}
TA贡献1946条经验 获得超3个赞
区分青蛙和非青蛙图像的一种简单方法是使用数组。将五个图像 URI 存储在一个数组中,让 arr[0] 是青蛙,然后将图像从 0 到 4 随机化。当索引为 0 时,您知道正在显示青蛙图像。
TA贡献1818条经验 获得超11个赞
所以想法是创建 5 个图像 ing html 代码,青蛙图像 - onclick="frog",其余的 - onclick="notfrog()",在 javascript 文件中创建函数,每 500 毫秒重复一次,并制作一个随机图像出现,另一个函数 - frog(),执行 score++,并检查 score==5,最后一个函数是 notfrog(),与上一个函数非常相似,只是 -score--,并检查 score= =-5,
这是我的代码:
网页格式
<style>
img{
width: 150px;
height: 150px;
}
</style>
<body>
<img src="./images/frog.jpg" onclick="frog()" id="frog">
<img src="./images/monkey.jpg" onclick="notfrog()">
<img src="./images/bird.jpg" onclick="notfrog()">
<img src="./images/lion.jpg" onclick="notfrog()">
<img src="./images/giraffe.jpg" onclick="notfrog()">
<span id="score">0</span>
</body>
javascript
var images = document.querySelectorAll("img");
var score_html = document.getElementById('score');
var score = 0;
var repeat_fn = setInterval(function choose_image(){
var random = Math.floor(Math.random() * images.length);
images[random].style.display = 'block';
for(var i = 0; i<=images.length; i++){
if(i != random){
images[i].style.display = 'none';
}
}
}, 500)
function frog(){
score++;
if(score === 5){
score_html.innerHTML = "you won";
score = 0;
}
else{
score_html.innerHTML = score;
}
}
function notfrog(){
score--;
score_html.innerHTML = score;
if(score === -5){
score_html.innerHTML = "you lost";
score = 0;
}
}
添加回答
举报