簡體   English   中英

在JavaScript Hangman游戲中對猜測進行排序

[英]Sorting guesses in JavaScript Hangman Game

我正在為一個項目開發Hangman型游戲,在進行錯誤的猜測並將其放入“錯誤的字母”庫中時遇到很多麻煩,不允許再次進行猜測。

 var alphabet = "abcdefghijklmnopqrstuvwxyz".split(""); var guess; //user guess var letters = []; //correctly guessed letters var wrongLetters = []; //incorrectly guessed letters var counter = 0; //counts correct letters var lives; //counts users lives var wordList = ["cat", "dog", "wolf", "laser", "carrol"]; //FILL LIST LATER!! //randomly chooses a word from wordList var word = wordList[Math.floor(Math.random() * wordList.length)]; //choosen word is replaced with function start() { for (i = 0; i < word.length; i++) { letters[i] = "__"; } document.getElementById("answer").innerHTML = letters.join(" "); console.log(word); } function checkLetter() { document.onkeyup = function(event) { guess = event.key.toLowerCase(); for (i = 0; i < word.length; i++) { if (guess === word[i]) { letters[i] = guess; document.getElementById("answer").innerHTML = letters.join(" "); } } } } start(); checkLetter(); 
 <h1>Hangman!</h1> <p> <font size="+3"><span id="answer"></span></font> </p> <p id="counter"></p> <p id="wrongGuesses"></p> 

到目前為止,這就是我所擁有的。 它基本上是從數組中選擇一個隨機單詞,並在字母位置顯示下划線。 如果您猜測正確的字母,下划線將被替換。 如前所述,我現在需要它來跟蹤我的錯誤猜測。 我知道這很模糊,但是任何幫助將不勝感激!

這是您的代碼段,已修改為捕獲錯誤的猜測。

對於更改,我已經在代碼中添加了注釋。

 var alphabet = "abcdefghijklmnopqrstuvwxyz".split(""); var guess; //user guess var letters = []; //correctly guessed letters var wrongLetters = []; //incorrectly guessed letters var counter = 0; //counts correct letters var lives; //counts users lives var wordList = ["cat", "dog", "wolf", "laser", "carrol"]; //FILL LIST LATER!! //randomly chooses a word from wordList var word = wordList[Math.floor(Math.random() * wordList.length)]; //choosen word is replaced with function start() { for (i = 0; i < word.length; i++) { letters[i] = "__"; } document.getElementById("answer").innerHTML = letters.join(" "); console.log(word); } function checkLetter() { document.onkeyup = function(event) { guess = event.key.toLowerCase(); var found = false; //lets use bool to check if a letter was found for (i = 0; i < word.length; i++) { if (guess === word[i]) { letters[i] = guess; document.getElementById("answer").innerHTML = letters.join(" "); found = true; } } //now all letters have been checked, was any found if (found) return; //if yes return //wrong, lets also see if //it's not already logged, if not add it //you could also then use wrongLetters.length //for working out if gueses area all used up. if (wrongLetters.indexOf(guess) < 0) { wrongLetters.push(guess); document.getElementById("wrongGuesses").innerHTML = wrongLetters.join(" "); } } } start(); checkLetter(); 
 <h1>Hangman!</h1> <p> <font size="+3"><span id="answer"></span></font> </p> <p id="counter"></p> <p id="wrongGuesses"></p> 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM