2016-08-10 47 views
1

我正在做一个hang子手游戏,并已经与HTML,CSS和JS难住。我有以下的底部部分被触发,一旦按下按钮,函数中的b将决定从数组中选择哪个字母(即0,1 = alpha [1 - 1]),顶部一旦有被某种词汇输入。当我尝试使用上面的变量来检查所选的字母是否在输入字符串中时,我遇到了问题。比如当我做console.log(store,input)时。它会以不明身份出现,我只是需要它,所以我可以通过字符串运行字母,然后检查字母是否在单词中。我是一个初学者,所以我希望这不是太麻烦了,谢谢不明身份的变量的麻烦

<!DOCTYPE html> 
 
<html> 
 
    <head> 
 
     <script type="text/javascript" src="hang.js"></script> 
 
     <link rel="stylesheet" href="hang.css" type="text/css" /> 
 
    </head> 
 
     <body> 
 
      <div class="push"> 
 
       <input type="string" placeholder="What is your word ?" id="input"> 
 
       <input type="button" onclick="word(1,0)" value=Submit> 
 
      </div> 
 
       <h2 class="output"></h2> 
 
        <div class="alpha"> 
 
         <h1 onclick="word(0,1)">A</h1> 
 
         <h1 onclick="word(0,2)">B</h1> 
 
         <h1 onclick="word(0,3)">C</h1> 
 
         <h1 onclick="word(0,4)">D</h1> 
 
         <h1 onclick="word(0,5)">E</h1> 
 
         <h1 onclick="word(0,6)">F</h1> 
 
         <h1 onclick="word(0,7)">G</h1> 
 
         <h1 onclick="word(0,8)">H</h1> 
 
         <h1 onclick="word(0,9)">I</h1> 
 
         <h1 onclick="word(0,10)">J</h1> 
 
         <h1 onclick="word(0,11)">K</h1> 
 
         <h1 onclick="word(0,12)">L</h1> 
 
         <h1 onclick="word(0,13)">M</h1> 
 
         <h1 onclick="word(0,14)">N</h1> 
 
         <h1 onclick="word(0,15)">O</h1> 
 
         <h1 onclick="word(0,16)">P</h1> 
 
         <h1 onclick="word(0,17)">Q</h1> 
 
         <h1 onclick="word(0,18)">R</h1> 
 
         <h1 onclick="word(0,19)">S</h1> 
 
         <h1 onclick="word(0,20)">T</h1> 
 
         <h1 onclick="word(0,21)">U</h1> 
 
         <h1 onclick="word(0,22)">V</h1> 
 
         <h1 onclick="word(0,23)">W</h1> 
 
         <h1 onclick="word(0,24)">X</h1> 
 
         <h1 onclick="word(0,25)">Y</h1> 
 
         <h1 onclick="word(0,26)">Z</h1> 
 
         <h1 onclick="word(0,27)">_</h1> 
 
         <h1 onclick="word(0,28)">-</h1> 
 
        </div> 
 
     </body>  
 
</html>

var alpha = ['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', ' ', '-']; 
 
// -------------------- changes and counts word into spaces 
 

 
function word(a, b) { 
 
    if (a === 1) { 
 
     var input = document.getElementById('input').value; 
 
     input = input.toLowerCase(); 
 
     var store = []; 
 

 
     for (var i = 0; i < input.length; i++) { 
 
      store.push('_'); 
 
     } 
 
     document.getElementsByClassName('output')[0].innerHTML = store; 
 
     document.getElementById('input').value = ''; 
 
    } // -------------------------- checking if letter chosen is correct 
 
    else if (a === 0) { 
 
     console.log(store, input); 
 
    } 
 
}

+0

为什么字(a,b)从不使用b –

+0

究竟是什么不起作用?这个东西究竟该如何工作?您可以[编辑]您的问题,并扩展该片段以包含HTML以及澄清您的问题。 – Xufox

+0

尝试使用array = string.split(“”)来获取单词作为数组 –

回答

0

在你卡住的地方香港专业教育学院为你写了完整的脚本的情况:

var secret=""; 
var letters=[]; 
var known=[]; 
function setsecret(a){ 
secret=a; 
letters=secret.split(""); 
for(i=0;i<letters.length;i++){ 
known.push("_"); 
} 
//display known 
} 
function check(letter){ 
for(i=0;i<letters.length;i++){ 
if(letters[i]==letter){ 
known[i]=letters[i]; 
} 
} 
if(letters==known){ 
alert("youve got it"); 
} 
//display known 
} 

秘密商店这个单词,字母词作为数组,知道猜测词。像这样使用:

setsecret("ABRACADABRA"); 
check("A"); 
1

也许使变量“专卖店”全球性的,因此它赢得了”下次你叫word()的时候不要空。同时移动输入初始化“如果”外块:

var alpha = ['a', 'b', ...]; 
var store = []; 

function word(){ 
    var input = document.getElementById('input').value; 
    if (a === 1) { 
    ... 
    } 
}