私は、写真の人物を推測できるまで、ユーザーが徐々に画像を覆う四角形をクリックするキャッチフレーズスタイルのゲームを作ろうとしています。関連するコードとコメントは次のとおりです。if文が期待した結果を返さないのはなぜですか?
//ページが更新されるときに表示される3つのランダムな画像のうちの1つです。
var randomImage = new Array();
randomImage[0] = "/IMAGES/0.jpg"
randomImage[1] = "/IMAGES/1.jpg"
randomImage[2] = "/IMAGES/2.jpg"
var randomNumber = Math.random();
randomNumber = randomNumber * randomImage.length;
randomNumber = Math.round(randomNumber);
if (randomNumber == 0) {
document.getElementById("backPic").src="../IMAGES/0.jpg";
}
else if (randomNumber == 1) {
document.getElementById("backPic").src="../IMAGES/1.jpg";
}
else {
document.getElementById("backPic").src="../IMAGES/2.jpg";
}
//ユーザーが回答を提出したときに、正しい場合は「よく完了!」と警告されます。上記のif文で
document.getElementById("submitGuess").onclick = function() {
var correctAnswer0 = "Terry";
var correctAnswer1 = "Drogba";
var correctAnswer2 = "Lampard";
if (document.getElementById("userGuess").value == correctAnswer1 && randomNumber == 1){
alert("Well done!");
}
}
は、私がクリックされたときにのみ提出することを期待する、とuserGuessが正しいと乱数は、ユーザーが「よくやった」警告されることを、1に等しいです。しかし、別の画像が表示されたときに送信ボタンがクリックされると(すなわち、randomImage [2])、代わりに画像がrandomImage [1]に変更されます。
誰も私を助けて、なぜこれが機能しないのか教えてください。
ありがとうございました!
私は '恐らくMath.round(乱数)が' 'べきであることを指摘したいですMath.floor(randomNumber) '。 –
問題を示すスタックスニペット( '[<]]'ツールバーボタン)を使用して** runnable ** [mcve]で質問を更新してください。 –
* "しかし、別の画像が表示されたときに送信ボタンをクリックすると(randomImage [2])、代わりに画像がrandomImage [1]に変更されます。" *ボタンのように私に聞こえる音は 'type = "ボタン(' 'または' 'のいずれかのデフォルトのタイプは' submit'です)。したがって、ページは新しい乱数と画像でリフレッシュされます。しかし、あなたが私たちにボタンを表示していないので、私たちは確信できません。 –