Ich versuche, ein Ratespiel zu erstellen, das eine Zufallszahl generiert, die der Benutzer erraten wird. Dieses Ratespiel muss eine Art Schleife benutzen. Im Moment ist es in einer Funktion eingeschlossen, die aufgerufen wird, wenn der Benutzer auf eine Schaltfläche klickt, und einem Booleschen Wert, der die Anzahl der möglichen Annahmen des Benutzers begrenzt.Ersetzen einer bedingten Anweisung mit einer Schleife
Nach meinem Verständnis läuft eine Schleife ohne anzuhalten, bis ihre Bedingungen erfüllt sind. Wenn ich in dieser Situation eine Schleife hätte, wäre die letzte Ausgabe die letzte Iteration der Schleife. NumGuesses würde einen Wert von 6 haben, weil das war, als die Schleife aufhörte. Wie kann ich die Bedingung durch eine Schleife ersetzen und trotzdem funktionieren lassen?
//Declare variables and constants
var guessesLeft; //number of guesses the user has left
var userGuess; //user's guess
var highLimit = 1000; //high parameter
var numGuesses = 1; //number of guesess the user has guessed
var allowedGuesses = 6; //number of allowed guesses
var NL = "\n"; //new line
//function to be called when the user presses Submit Guess
function guessingGame() {
//random number that is generated
var randNum = Math.floor(Math.random() * highLimit + 1);
if (numGuesses <= allowedGuesses) {
userGuess = prompt("Enter a number between 1 and " + highLimit + ": " , "")
userGuess = parseInt(userGuess);
guessesLeft = (allowedGuesses - numGuesses) + " guesses left.";
//If userGuess is in the specified parameters
//If userGuess is larger than 1 and smaller than the higher parameter
if ((userGuess > 1) && (userGuess < highLimit)) {
//If userGuess does not equal randNum
if (userGuess !== randNum) {
//If userGuess is too low
if (userGuess < randNum) {
//output
document.numForm.gameResults.value = "You guessed too low! Please guess again. " + NL + "Your current number of guesses: " + numGuesses + NL + "You have " + guessesLeft;
}
//If userGuess is too high
else if (userGuess > randNum) {
document.numForm.gameResults.value = "You guessed too high! Please guess again. " + NL + "Your current number of guesses: " + numGuesses + NL + "You have " + guessesLeft;
}//end if
}
else {
//If userGuess is correct
document.numForm.gameResults.value = "You guessed correctly!";
}//end if
}
else {
document.numForm.gameResults.value = "Your guess was out of the specified parameters. Please try again. " + NL + "Your current number of guesses: " + numGuesses + NL + "You currently have " + guessesLeft;
//user may have entered their guess wrong
numGuesses--;
}//end if
//add to number of guesses so the program stops when it reaches the allowed number
numGuesses++;
}//end outer if statement
return false;
}//end guessingGame()
Hallo, könnten Sie weitere Informationen geben, wie Sie das Spiel arbeiten möchten, dh wie spielst du das Spiel? Sie Code ist ordentlich genug und Sie erklären es gut .. aber ich habe Mühe, das Ziel zu verstehen. – Seabizkit