我正在尝试建立一个刽子手游戏,我需要逻辑方面的帮助。我是初学者课程,所以我想尝试使用初学者语法来构建它。我想弄清楚什么
2)我的问题是我需要显示表示空白行的短划线( - ),它们需要与随机选择的单词的长度相同。此外,每次正确猜到一封信,我都需要用正确选择的字母替换破折号。我想到的一个解决方案是创建一个空数组,然后在for循环中为它指定短划线符号,该循环是字符串的长度,然后用匹配的字母替换特定短划线的索引,但我不确定这是否有效。
var randomWords = ['rock', 'paper', 'scissors'];
var numWins = 0;
var chosenWord = randomWords[Math.floor(Math.random() * randomWords.length)];
document.onkeyup = function(event) {
// var userGuess = String.fromCharCode(event.keyCode).toLowerCase();
var dashes = "";
for (var x = 0; x < chosenWord.length; x++) {
dashes += " - ";
// document.getElementById("word").innerHTML = blankLines;
// document.getElementById("word").innerHTML = ;
}
document.getElementById("word").innerHTML = dashes;
尝试用下面的行中的字母替换短划线。但两者都注释掉了代码和非注释掉的代码。这就是为什么我想使用一个空数组,但不确定我是否可以使用foor循环填充数据
// for (x = 0; x < chosenWord.length; x++)
// {
// dashes[x] = "a";
// dahes.charAt(x) = 'a';
// }
dashes.charAt(0) = "a";
document.getElementById("test2").innerHTML = dashes;
答案 0 :(得分:0)
这个应该有效。在第一种情况下(如果单词中有空格),它将显示一个空格。在第二种情况下,它将用短划线替换该单词的每个字母。
var dashes = "";
for (i = 0; i < chosenWord.length; i++) {
if (chosenWord.charAt(i) == " ") {
dashes += " ";
} else {
dashes += "-";
}
}