逻辑的绞刑游戏与javascript

Logic of hangman game with javascript

本文关键字:javascript 绞刑游戏      更新时间:2023-09-26

我正试图建立一个绞刑游戏,我需要帮助的逻辑。我在上一个初学者的课,所以我想尝试用初学者的语法来构建这个。我想弄明白的是

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;

尝试用字母替换下面行中的破折号。但是注释掉的代码和未注释掉的代码都可以工作。这就是为什么我正在考虑使用一个空数组,但不确定我是否可以用一个底循环

填充它的数据
     // for (x = 0; x < chosenWord.length; x++)
     // {
     //         dashes[x] = "a";
     //         dahes.charAt(x) = 'a';
     // }
     dashes.charAt(0) = "a";
     document.getElementById("test2").innerHTML = dashes;

这个应该可以工作。在第一种情况下(如果单词中有空格),它将显示一个空格。在第二种情况下,它将用破折号替换单词的每个字母。

var dashes = "";
for (i = 0; i < chosenWord.length; i++) {
  if (chosenWord.charAt(i) == " ") {
    dashes += " ";
  } else {
    dashes += "-";
  }
}