繁体   English   中英

如何跟踪 JavaScript 猜数字游戏中的尝试?

[英]How to keep track of attempts in a JavaScript number guessing game?

我试图跟踪进行了多少次猜测,然后在猜到正确数字时打印该数字。 当猜测错误的数字时,猜测的数量不会被更新,所以它一直显示它只需要 1 次猜测,而实际上需要更多。

let num = Math.floor(Math.random() * 20) + 1;

console.log(num);

let num_guess = 0

function do_guess() {
    let guess = Number(document.getElementById("guess").value);
    let num_guess = 1

    let message = document.getElementById("message");

    if (isNaN(guess)) {
        message.innerHTML = 'That is not a number!';
    }
    else if (guess > 20) {
        message.innerHTML = 'That number is not in range, try again.'
        num_guess+=;
    }
    else if (guess > num) {
        message.innerHTML = "No, try a lower number."
        num_guess+=;
    }
    else if (guess < num) {
        message.innerHTML = "No, try a higher number."
        num_guess+=;
    }
    else if (guess == num) {
        message.innerHTML = "You got it! It took you " + num_guess + " tries.";
    }
}

<!doctype html>

<head>
    <title>Higher - Lower</title>
</head>
<body>
    <div class="container">
        <h1>Higher Lower</h1>
        <p>Guess a number between 1 and a maximum number of your choosing!</p>
        <div class="row">
            <div class="col-lg-3 col-md-6">
                <form>
                    <div class="form-group">
                        <label>Your guess:</label>
                        <input type="text" id="guess" class="form-control">
                    </div>
                    <button type="button" class="btn btn-primary" onclick="do_guess()">Guess</button>
                </form>
            </div>
        </div>
        <p id="message"></p>
    </div>
    <script src="higherlower.js"></script>
</body>
```

let num_guess = 1您声明变量两次,每次调用 function 时,它将设置为 1。

num_guess+=; 这不会增加变量。 见下文。

let num = Math.floor(Math.random() * 20) + 1;

console.log(num);

let num_guess = 0;

function do_guess() {
    let guess = Number(document.getElementById("guess").value);

    let message = document.getElementById("message");

    if (isNaN(guess)) {
        message.innerHTML = 'That is not a number!';
    }
    else if (guess > 20) {
        message.innerHTML = 'That number is not in range, try again.'
        num_guess += 1;
    }
    else if (guess > num) {
        message.innerHTML = "No, try a lower number."
        num_guess += 1;
    }
    else if (guess < num) {
        message.innerHTML = "No, try a higher number."
        num_guess += 1;
    }
    else if (guess == num) {
        message.innerHTML = "You got it! It took you " + num_guess + " tries.";
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM