0

JavaScriptでアクションが実行された回数を数えるときのベストプラクティスは何ですか?たとえば、番号を尋ねるプロンプトがあります

 var playerGuess = prompt("What is your guess ");

私がやりたいのは、3回試行した後、別のプロンプトでゲームを終了することです。

私が苦労しているのは、実際に入力の数を数えることです

ありがとう

入力が行われた回数をカウントする関数を作成してみました

    var guessCount = playerGuess.count;


   function limit(playerGuess){

  if (guessCount >= 3){
   alert("game over");
  } else{
   alert("carry on");
  }

 }

完全に間違っている私は知っているが、やってみる

4

3 に答える 3

1

そのようです:

// Global var to hold number of guesses
var guessCount = 0;

// Function to get the guess
function getGuess() {
  // Get a new guess
  var guess = prompt('What is your guess ');

  // Process guess here, eg:
  if (...whatever tests you want to make...) {
    // Good guess
    alert('Good guess: ' + guess);

  } else {
    // Bad guess
    guessCount += 1;

    // Fail out if too many guesses have been tried
    if (guessCount >= 3) {
      alert('Game over');
      return;
    }
  }
};

乾杯!

于 2012-10-02T14:03:54.330 に答える
1

while現在の反復を格納するループと変数を使用してこれを行うことができます。次のことを考えてみてください。これにより、「秘密の」番号を推測するチャンスが 3 回与えられます。

var secretNumber = 42,
    youWon = false,
    i = 0;

while (i < 3) {
  var playerGuess = prompt("What is your guess?");

  if (playerGuess == secretNumber){
    youWon = true;
    break;
  }

  i++;
}

if (youWon) {
  alert("You got it!");
} else {
  alert("Sorry, you have no more tries left.");
}

このコードは何度もループし、iそのたびにインクリメントします。質問をし、答えをチェックします。答えが正しければ、youWonフラグを設定しbreakてループから抜け出し、早期に終了します。それ以外の場合、ループは 3 回の反復後に自然に終了します。youWonループが終了した後、正しい答えが与えられたためにループが終了したのか、それとも試行回数が使い果たされたためにループが終了したのかを判断するために、フラグがチェックされます。

于 2012-10-02T14:09:48.393 に答える
1

毎回得られる答えを評価する必要があります。答えが有効な場合は、別の変数でカウントを取得し、カウントが目的の量に達したら入力を取りません。

var attempts    = 0;

function ask_question(){

  if(attempts > 3)
  {
   // you have played enough!
   return;
  }
  else
  {

   var playerGuess = prompt("What is your guess ");

   if(parseInt(playerGuess) != NaN && playerGuess != '')
   {
    attempts++;
    // do whatever you would like to do with playerGuess
   }
  }
}
于 2012-10-02T13:59:13.697 に答える