2016-05-17 9 views
1

私はハングマンゲームで作業していますが、キーダウンを使用してユーザーが推測する文字がランダムに選ばれた言葉。しかしそれは、たとえその手紙が実際に言葉に出ているかどうかにかかわらず、「はい、それは言葉にあります」または「いいえ、言葉にない」という答えを常に私に与えます。どんな助けでも大歓迎です。ありがとうございました。押されたキーが選択された単語に含まれているかどうかを確認する方法を教えてください

ここに私が現時点で作業しているコードがあります。

document.addEventListener("keydown", function textFunction(event) 
{ 
if (event.keyCode > 64 && event.keyCode < 91) 
{ 
    var guess = event.keyCode; 
    var a = "a"; 
    var letterGuess = String.fromCharCode(event.keyCode); 
    if(sayings[randomSaying].contains(guess)){ 
     alert("yes"); 
    } else { 
     alert("no"); 
    } 
    alert(String.fromCharCode(event.keyCode)); 
} 
else 
{ 
    alert("Please type a letter"); 
} 
}); 

そして、ランダムに選ばれた

var sayings = [ 
    "cash on the nail", 
    "charley horse", 
    "double cross", 
    "fit as a fiddle", 
    "hands down", 
    "if the cap fits", 
    "mumbo jumbo", 
    "see red", 
    "stone the crows", 
    "thick and thin", 
] 
sayings.toString(); 
var randomSaying = Math.floor(Math.random()*sayings.length); 

答えて

2

デフォルトでString.fromCharCode(event.keyCode);返す大文字を言います。そのように、あなたは決して一致することはありません。

EDIT:指定されたkeyCodeは大文字であるため、String.fromCharCodeはデフォルトで常に大文字を返します。

+1

どのように私はそれらを一致させることができる任意のアイデア? – seanrs97

+1

'String.fromCharCode(event.keyCode).toLowerCase();'を小文字にします。あなたの言葉が小文字だけである限り、それはうまくいくはずです。そうでない場合は、小文字を使用する前にすべて小文字にしてください。 Googleは、手紙の変更のような簡単なものを見つけ出すための良いリソースです。 – ShuberFu

+1

はい私はそれが完了したと思います!ありがとうございました!私はこの一日中、小文字を使わずにこのような迷惑な小さな間違いを試してきました。 – seanrs97

関連する問題