需要协助以JavaScript编写猜词游戏

时间:2019-03-22 23:44:14

标签: javascript

我正在创建一个猜词游戏,看起来像this

我已经创建了引导div,该div可以保存我的代码信息并声明了一些变量,但是我现在陷入困境。

免责声明:我是编程新手!

<!DOCTYPE html>
<html>

<head>
  <title>Word Guess Game</title>
  <link rel="stylesheet" type="text/css" href="reset.css">
  <link rel="stylesheet" type="text/css" href="style.css">
</head>

<body>
  <div class="container">
    <div class="artist row">
    </div>
    <div class="gamearea row">
      <div class="albumarea col-6">
      </div>
      <div class="actualgame col-6">
        <div class="startarea">
          <p id="start-text">Press any key to start playing!</p>
        </div>
        <div class="winsarea">
          <p id="wins-text"></p>
        </div>
        <div class="current-wordarea">
          <p id="currentword-text"></p>
        </div>
        <div class="remaining-guessesarea">
          <p id="guessremaining-text"></p>
        </div>
        <div class="letters-guessedarea">
          <p id="letterguessed-text"></p>
        </div>
        <div class="starts"></div>
      </div>
    </div>
  </div>

<script type="text/javascript">
    var wins = 0;
    var currentword = 0;

    var letter = ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"];

    var Word = ["marley", "babyface", "hamilton"];
    var solution = word[Math.floor(Math.random() * word.length)]
    var solutionlength = solution.length;
    var display = [solutionlength];
    var lettersguessed = solution.split("");
    var guessesremaining = 12;
    var output = "";
    var win = solutionlength
    var letterplayed = "";

    document.onkeyup = function(event) {
      var userGuess = event.key;
      if () {

      }
    };
  </script>
</body>

</html>

1 个答案:

答案 0 :(得分:0)

我认为第一步是确认到目前为止的代码。

对于我自己,我已经逐步完成了,可以看到一些问题。

第一个是变量Word在下一个引用为word 线。确保变量的大小写(大写/小写)始终匹配。

接下来,看来display应该是一个具有 由solutionlength指定的初始长度。但是数组文字 语法[]只会使solutionlength成为数组中的第一项。 使用var display = new Array(solutionlength);创建一个空数组 大小为solutionlength

在此之下,lettersguessed的名称错误或错误 初始化。例如,应将其称为letters_in_the_solution。 或者应该将其初始化为空数组以存储对 播放器。

这些是主要问题,但也存在一些普遍的困惑 关于变量的意图。例如,您声明 currentword,但不要在初始化solution时使用它。相反,您可以直接使用Math ...东西进行初始化。

无论如何,我不会完全填写您的if语句,而是 概述draw()方法在伪代码中可能看起来像什么 代码:

when user presses a key ->
    add the key to an array called letters_guessed
    set a variable called is_solved to true

    now loop through all the letters in the solution ->
        does the current letter exist in letters_guessed?
            yes -> 
                draw the current letter
            no -> 
                draw an underbar _
                and set the variable called is_solved to false

    is the variable is_solved set to true?
        yes ->
            win += 1
            generate a new word
            clear the letters_guessed array
        no ->
            do nothing

在不确定要写什么内容之前,先跳入这样的简单规范来概述代码通常是一个好习惯。

您可以从一个比这更简单的轮廓开始,然后逐渐使其变得越来越像代码,直到您认为可以将整个内容表示为真实代码为止。

希望有帮助。