我在游戏中制造了一个奇怪的游戏,而且我对它的功能感到困惑。 (我已添加警报,因此我知道正在点击图像) 所以基本上字符3是奇数字,字符1 + 2不是奇数字。但是当我点击字符1 + 2时,同样的警报会出现在字符3(奇数出局)的警报上。我已经尝试为正确/错误的答案制作新的功能,但那也没有用。它可能只是一些小东西,但我真的卡住了,任何帮助都会受到赞赏。
这是HTML:
<div id ="characters">
<img src="boy__pirate.png" class = "character" id ="character1" onclick="characterclicked(1);" >
<img src="girl__pirate.png" class = "character" id ="character2" onclick="characterclicked(2);" >
<img src="pig__.png" class = "character" id ="character3" onclick="characterclicked(3);">
</div>
这是JS:
var oddoneout = new Array();
oddoneout[0] = {characterName:"character3", answer: 1};
oddoneout[1] = {characterName:"character6", answer: 2};
oddoneout[2] = {characterName:"character9", answer: 3};
oddoneout.sort(function() {return Math.random() -0.5;});
function characterclicked() {
if (oddoneout) {
alert("You're right!")
}
}
答案 0 :(得分:1)
var oddoneout = new Array();
oddoneout[0] = {characterName:"character3", answer: 1};
oddoneout[1] = {characterName:"character6", answer: 2};
oddoneout[2] = {characterName:"character9", answer: 3};
oddoneout.sort(function() {return Math.random() -0.5;});
function characterclicked(choice) {
// perform your checking here
if (oddoneout[choice-1].answer===2) {
alert("You're right!")
}
}
答案 1 :(得分:1)
尝试将characterclicked更改为:
var oddoneout = new Array();
oddoneout[0] = {characterName:"character3", answer: 1};
oddoneout[1] = {characterName:"character6", answer: 2};
oddoneout[2] = {characterName:"character9", answer: 3};
oddoneout.sort(function(a, b) {return Math.random() -0.5;});
function characterclicked(i) {
switch(i) {
case 1:
case 2:
case 3:
if (oddoneout[i-1].answer == i) {
alert("You're right!");
}
break;
default:
alert(i);
break;
}
}
要取消排序数组,您的比较函数是错误的。 所以我试着调整你的代码,希望它可以帮到你。