实施“Word Decoder”游戏。该游戏将向玩家呈现一系列混乱的单词(最多20个单词)并挑战他/她试图解读它们。每次显示新单词,并且为用户提供文本输入以写入未加扰的单词。 一旦玩家认为该单词已被正确解码,他点击“检查答案”按钮。如果玩家的答案是正确的,他的分数会增加1。如果他的回答不正确,他会得到通知,然后他会得到一个不同的词。
我理解了这个问题,但我不知道如何生成它,甚至不知道如何启动它! 有什么帮助吗?
答案 0 :(得分:1)
首先,尝试将问题分解为您需要的东西;想想名词和动词。这只是用新术语重写问题。你需要:
任何以“to”开头的项目都是动词;其他任何东西都是名词。名词成为对象,动词成为方法/功能。
上述主要采用top-down方法,与bottom-up形成对比(请注意,自上而下与自下而上不是一个或两个命题)。其他可能有助于不知道从哪里开始的方法是test driven development或其分支behavior driven development。有了这些,您首先要在代码中定义程序应该执行的操作,然后填写详细信息以使其执行此操作。
比较单词的提示:问题基本上是定义equivalence class - 如果一个是另一个的排列,则两个字符串是等价的。字符串的排列组合在一起形成该字符串的等价类;如果字符串是等价的,则两个字符串在同一个等价类中。正如链接文档所指出的那样,通过选择类的单个元素作为类代表来很好地表示等价类。最后,您可以转换等价类定义:如果两个字符串属于同一个等价类,则它们是彼此的排列。
答案 1 :(得分:0)
查看通过XHR加载字典 网上有很多可用的[http://www.mieliestronk.com/wordlist.html注意:它包含一些脏话,如果你是为了学术目的而这样做,因为你的作业,你应该寻找一个“干净”的清单]。 ..
为了扰乱这个词:将你的字符串变成一个char数组,然后找到一个数组shuffle函数[它们很容易编写,我为我的Bogosort实现写了一个] ...
function shuffle(b)
{
var a = b.concat([]); //makes a copy of B, b won't be changed...
var final = [];
while(a.length != 0)
{
//0 -> a length-1
var targIndex = Math.round((a.length-1)*(Math.random()));
var value = a[targIndex]
a.remove(targIndex);
final.push(value);
}
return final;
}
当用户完成输入时,只需将输入与答案进行比较[不区分大小写,忽略空格]如评论中所述,还有anagrams的可能性,所以一定要检查那些......也许,你可以只需验证字典中存在的单词。
答案 2 :(得分:0)
这是我从你们那里得到的!我生成另一个代码,但它不是写 我试图找出正确的解决方案..
作业1:任务3
<script type="text/javascript">
function check()
{
var correctArray = new Array ("cat", "car");
correctArray[0]= 0;
var wrong = new Array("tac", "rac");
var score = 0;
if( correctArray().index.length == wrong().index.length){
alert("This is correct:" , correctArray());
}else{
alert(" please try again ");
}
return correctArray++, score++;
}
</script>
</head>
<body>
<form>
<h3> Words Decoder </h3>
The scrambled word is: <input type="text" name="showlabel" value="" disabled="disabled" onclick='check().getElementById("wrong")' /> <br/><br/>
Please enter the unscrambeld word: <input type="text" name="userInput" value="" />
<input type="submit" value="Check" onclick="check()" /><br/><br/>
The Score is : <input type="text" name="score" value="" disabled="disabled" /><br/><br/>
</form>
</body>
它应该像例如:
显示“tac”字样。用户输入“cat”。答案是正确的,用户的分数是1。 然后显示“niol”一词。用户输入“oinl”。答案不正确,用户会收到警报,并且分数保持不变。 然后游戏显示下一个单词,依此类推。在最后一个单词之后,最终得分将给予玩家。