【发布时间】:2022-01-30 15:52:30
【问题描述】:
我已经是 Javascript 的第二周了,我们的任务是创建一个猜谜游戏。
我们得到的步骤是:
-
准备一份你最喜欢的水果列表,并将其存储在适当的数据结构中,让计算机随机选择一个水果作为密码。
-
根据所选水果给使用提示,如下例所示。您可以使用 prompt、alert 或 console.log 来显示提示
例如,如果秘密水果是“香蕉”
提示:长度为 6 个字符。以 b 开头,以 a 结尾。猜水果。 而不是为每个水果手动输入提示。尝试使用模板字符串并以编程方式计算出起始字母、结束字母和长度。
-
允许用户反复猜测水果,直到他们猜对为止。跟踪猜测的次数。
-
祝贺用户并显示他们尝试的次数。
我已经坐了一段时间,并尝试改变我的代码。我知道我很接近,但希望得到一些指示或提示。
这是我目前所拥有的:
var fruits = ["kiwi", "banana", "apple", "strawberry", "watermelon", "orange"];
var ranNum = Math.floor(Math.random() * fruits.length);
var secretFruit = fruits[ranNum];
var userPrompt = prompt("Guess the fruit");
var guess = 1;
while (userPrompt !== secretFruit) {
prompt(
"hint: it's " +
secretFruit.length +
" characters long. Starts with " +
secretFruit[0] +
" and ends with " +
secretFruit.slice(-1) +
". guess the fruit."
);
guess++;
}
if (userPrompt == secretFruit) {
alert(
"Congratulations you guessed the fruit, and it took you " +
guess +
" guesses"
);
}
任何帮助都会很棒,谢谢。
【问题讨论】:
-
secretFruit.slice(-1)[0] -
在 while 循环中,您只需要使用用户输入的新输入更新
userPrompt,例如userPrompt = prompt( ...。因为目前您只存储第一个用户输入并每次将其与猜测词进行比较,而不是在用户输入新内容时更新它。 -
@bbbbbbbbb 实际上
.slice(-1)工作得很好。"something".slice(-1) === "g"不需要[0] -
添加 userPrompt = prompt( ) 效果很好,谢谢
标签: javascript arrays if-statement while-loop