-1

2 つのラジオ ボタンのいずれかをクリックすると、テキストが重なります。if else 条件を個別に実行したい。つまり、より高いラジオ ボタンをクリックすると、playertotal が computertotal よりも高いかどうかがチェックされ、結果が書き込まれます。下のラジオボタンも同様です。

これはより長いコードに属します:

function button1()
{
    // Checks if it's the players turn
    if(playerturn==true)
    {
        // Generates eyes for the dice
        var eyes3=Math.floor(Math.random()*6)+ 1;
        var eyes4=Math.floor(Math.random()*6)+ 1;
        //Shows the eyes
        showEyes(eyes3, 325);
        showEyes(eyes4, 450);

        computerturn=true;
        playerturn=false;

        playerTotal = eyes3+eyes4;
        //Checks if player has won
        if (higher=1 && playerTotal > computerTotal) 
        {
            pen.font = '20pt Calibri';
            pen.fillText('You have won',300,250);
        }
        else if (higher=1 && playerTotal < computerTotal) 
        {
            pen.font = '20pt Calibri';
            pen.fillText('You have lost',300,250);
        }

        if (lower=1 && playerTotal < computerTotal) 
        {
            pen.font = '20pt Calibri';
            pen.fillText('You have won!',300,250);
        }
        else if (lower=1 && playerTotal > computerTotal) 
        {
            pen.font = '20pt Calibri';
            pen.fillText('You have lost',300,250);
        }
    }
}

function higherRadioButton()
{
    higher = 1
    lower = 0
}

function lowerRadioButton()
{
    lower = 1
    higher = 0
}

ありがとうございました。

4

1 に答える 1

0

JavaScript では、比較演算子は==, ではありません=。コードは次のようになります。

if (higher == 1 && playerTotal > computerTotal) 
{
    //...
}

他のすべてのステートメントについても同じです。

この種の将来の問題を回避するには、常に番号を左に置きます。

if (1 == higher && playerTotal > computerTotal) 
{
    //...
}

このように、「=」を 1 つ忘れると、間違った結果ではなくエラーが発生します。

于 2012-12-10T09:02:18.547 に答える