2016-04-30 8 views
1

私は現在興味深いミニプロジェクトに取り組んでいます。コンピュータが数字を推測して推測数(Javascript)を返す方法を教えてください。

基本的な考え方は、ユーザーに1から5の間の数字を入力させ、コンピュータにその数字を推測させて、推測する推測の数を示します。ここ は私のコードは、あなたが見ることができるように、私は数字を推測するコンピュータキープを作成する方法を理解し、ユーザーへのアウトの数を印刷することはできません、これまで...

<html> 

<head> 

    <title>Computer Guessing Game</title> 


</head> 


    <body> 

     <p>How many fingers are you holding up?</p> 

     <input type = "text" id= "myNumber"> 

     <button id="guess">Guess!</button> 

     <script type="text/javascript"> 

      document.getElementById("guess").onclick = function() { 

      var myNumber = document.getElementById("myNumber").value; 

      var gotIt = false; 

      while (gotIt == false) { 

       var guess = Math.random(); 

       guess = guess * 6; 

       guess = Math.floor(guess); 

       if (guess == myNumber) { 

        gotIt = true; 

        alert ("Got it! It was a " + guess + ". It took me " + /*number of guesses */ + " guesses."); 

       } else { 

        //computer should keep randomly guessing until it guessed correctly 
       } 
      } 
     } 

     </script> 

    </body> 

ですそれがあったと推測します。私はそれがある種のループだと思うが、もう一度、私はよくわからない。

何か助けていただければ幸いです(私が質問をはっきりと書いていないのであれば、私はまったく新しくて、時間とともにより良くなるでしょう)。

+0

ような何かを行うことができますループにそれを防ぐため

while(gotIt == false){ howManyGuesses = howManyGuesses + 1; //increment the amount of guesses //your logic alert ("Got it! It was a " + guess + ". It took me " + howManyGuesses + " guesses."); } 

。 –

+0

@ PM77-1私は推測しますが、ユーザーが見る出力に入れる変数はありません。 –

+0

これを追加してください。それはとにかく「else」セクションにはなかったでしょう。 –

答えて

2

あなたはあなたが望むものにかなり近いと思います。 whileループの前に変数を追加して新しい乱数を計算するたびにこの変数を増やすことができます。永遠にあなたは、単に `else`部分を削除、それは推測継続させるには

var myNumber = document.getElementById("myNumber").value; 
if (myNumber < 1 || myNumber > 5) { 
    alert('Please insert a number between 1 and 5'); 
    return; 
} 
+0

whileループを停止するようなことを提案することもできます。つまり、ユーザーが6と入力すると、ブラウザがクラッシュすることはありません。 –

+0

レスポンスは追加情報で編集されました – Bruno

関連する問題