Javascript Lingo游戏 - String char等于另一个字符串char

时间:2015-11-16 13:43:16

标签: javascript html5

Wat我想要做的是,如果checkW字符串有一个在checkR中的字母,我想要这个字母到apear,因为var length = random.length;文件撰写(阵列(长度)。加入() “?”);而不是?在字母处,它必须显示该字母,直到找到整个单词。

示例:如果我输入endu并且随机选择的国家是Nederland我想输出这个nede ???这是因为我们只在字符串中找到了这些字母。

<!DOCTYPE html>
    <html lang="nl">
    <head>
        <meta charset="utf-8">
        <title>Lingo spel</title>
        <meta name="description" content="Lingo spel voor de eu landen en hoofdsteden.">
        <meta name="Author" content="Ronald Julian Dewindt">
        <link rel="stylesheet" type="text/css" href="css/style.css">
        <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css">
        <!-- Optional theme -->
        <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap-theme.min.css">
        <link rel="stylesheet" type="text/css" href="style.css">
        <script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>

    </head>

    <body>
            <h3>Lingo spel - Eu landen en hoofdsteden</h3>
            <label>Typ een woord in:</label>
            <input type="text" value="" id="woord">
            <button type="button" onclick="lingo()">Check</button>
            <br><br>
            <p><b>Woorden geprobeerd!</b></p>
            <p id="try">-----</p>

        <script type="text/javascript">
            var euLanden = new Array('Nederlands','Duitsland','Zweden');
            var random =   euLanden[Math.floor(Math.random() * euLanden.length)]; 
            var random =   random.toLowerCase();
            var woordenG=  new Array();

            function lingo()
            {
                var woord = document.getElementById("woord").value;
                var woord = woord.toLowerCase();
                if(woord == "")
                    {
                        alert("U bent vergeten een woord in te typen!");
                        return;
                    }
                woordenG.push(woord);
                document.getElementById("try").innerHTML=woordenG;

                var checkW = woord.split('');
                var checkR = random.split('');

                alert(checkW);
                for(i=0; i<checkW.length; i++) //starts at 0++
                    {
                        alert(checkW[i]);
                        /*if(checkW[i] == checkR)
                            {
                                alert("Its working");
                            }*/
                    }
            }
        </script>
        <p id="hidden"><script>
            var length = random.length; document.write(Array(length).join("?"));
                       </script></p>
    </body>
    </html>

1 个答案:

答案 0 :(得分:1)

遍历国家/地区名称中的所有字母,并检查它们是否存在于用户输入的位置&#34;。如果是,请将它们附加到结果中,否则,在结果上附加一个问号:

function mask(countryName, textInput)
{
  var output = "";
  for(var i=0; i < countryName.length; i++)
  {
     if(textInput.contains(countryName[i]))
     {
        output += countryName[i];
     }
     else
     {
        output += "?";
     }
  }
  return output;
}

示例:

> mask("nederland", "endu")
< "nede???nd"

注意:你在问题中的例子有些缺陷;如果Lingo中的单词为"Nederland",并且已猜到字母"ENDU",则输出应为"nede???nd",而不是"nede?????"