Javascript函数if语句

时间:2015-04-27 18:02:24

标签: javascript function

我在游戏中制造了一个奇怪的游戏,而且我对它的功能感到困惑。 (我已添加警报,因此我知道正在点击图像) 所以基本上字符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!")


} 
} 

2 个答案:

答案 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;
        }
    }

要取消排序数组,您的比较函数是错误的。 所以我试着调整你的代码,希望它可以帮到你。