0

私はJavaScriptが初めてです。私が取り組んでいるタスクは、boxbox を物理シミュレーターとして使用する単純なゲームです。とにかく、プレイヤー エンティティが触れると色が変わる 3 つのブロックがあります。簡単な結果メッセージを表示したいと思います(「1つだけですか?もう一度やり直してください!」のようなものです)。ただし、色の値を条件として使用できるかどうかはわかりません。これは私が思いついたものです:

function score() {
if (gold1.color == "gold" || gold2.color == "gold" || gold3.color == "gold") {world.createEntity(result, {
        shape: "square",
        x:9,
        y:4,
        width: 3,
        height: 2,
        image: "only1.png",
        imageStretchToFit: true, }
        }
else if (gold1.color == "gold" && gold2.color == "gold" || gold2.color == "gold" && gold3.color == "gold" || gold1.color == "gold" && gold3.color == "gold") {world.createEntity(result, {
        shape: "square",
        width: 3,
        height: 2,
        x:9,
        y:4,
        image: "only2.png",
        imageStretchToFit: true, }
        }
else (gold1.color == "gold" && gold2.color == "gold" && gold3.color == "gold") {world.createEntity(result, {
        shape: "square",
        width: 3,
        height: 2,
        x:9,
        y:4,
        image: "only3.png",
        imageStretchToFit: true, }
        }
}

これが完全に間違ったアプローチなのか、単なる構文エラーなのかはわかりません。助けてください。

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

4

2 に答える 2

0

ブラウザーでデバッガーを使用する必要があります (chrome を使用している場合は、f12 を押してください)。投稿したコードが実行される前にブレークポイントを配置します。gold1.color、gold2.color にはどのような値が表示されますか?

あなたが投稿したコードは、あなたが私たちに提供した説明に基づいて混乱を招くように見えます. なぜこれらすべてのチェックを行うのですか?

詳細がわかり次第、回答を編集します..

また、他の 2 つのコード ブロックが実行される場合、最初のコード ブロックが実行されるように見えますが、なぜ「else if」ステートメントがあるのでしょうか。いずれかの色が金色の場合、最初のコード ブロックが実行され、他のコード ブロックは実行されません。これは、1 つまたは複数の色が金色である必要があるためです。

于 2013-11-12T14:03:55.840 に答える