我是编程新手,但我有几个问题,正在构建一个猜词游戏,当玩家单击游戏键盘上的按钮时,空框将显示与下面匹配的所有字母实例是一张图片:
这是我拥有的数组:
const phrases = ["life is strange","success does not come easy", "seven swans swimming", "guess the word", "wild goose chase"]
在这种方法中,我尝试对数组进行迭代以获取每个短语的第一个字母,如果有人从键盘上单击按钮时确实存在匹配项,则需要返回 checkLetter true,我将调用另一个名为 showMatchedLetter()
的方法checkLetter() {
for (var i=0; i < phrases.length; i++) {
console.log(phrases[i].charAt(0) );
return true
}
}
如果先前的方法返回true,则将调用此方法以显示游戏中的字母
showMatchedLetter() {
//if there was a match on the checkLetter method, then add a show letter class to the lis items
if (checkLetter === true) {
newListItem.className = 'show letter';
}
}
这是键盘的html Keyboard HTMl
这个想法是,如果玩家猜对了,我必须让空白框显示字母的所有实例,有人可以帮忙吗?
答案 0 :(得分:0)
据我所知,问题在于您正在尝试使用对div的引用作为比较值。它实际上不会为您提供按钮打算代表的值。我建议更改showMatchedLetter以为字母输入一个参数,然后为每个按钮给它们提供对该函数的onclick调用,并传递其代表的字母。像这样:
<button class="key" onclick="showMatchedLetter('q');">q</button>
<button class="key" onclick="showMatchedLetter('w');">w</button>
<button class="key" onclick="showMatchedLetter('e');">e</button>
<button class="key" onclick="showMatchedLetter('r');">r</button>
<button class="key" onclick="showMatchedLetter('t');">t</button>
<button class="key" onclick="showMatchedLetter('y');">y</button>
//etc...