我对javascript很陌生,但我正在开发基于文本的RPG游戏。我试图找出如何制作它,以便用户输入'去'或者' walk'或者'运行'或者'行军'或类似的东西,它将运行相同的命令...而不是仅仅使用'或者'做一堆检查,我更喜欢在单独的文件,我可以检查并返回一个术语。我该怎么做呢?我可以使用常规数组吗?如果是这样我如何在javascript中搜索?
我希望得到像
这样的东西dictionary:
["go"]:["go"];
["walk"]:["go"];
["run"]:["go"];
["march"]:["go"];
我也意识到我可能会以完全错误的方式解决这个问题,所以如果你有任何提示,他们会非常欢迎。
答案 0 :(得分:2)
一种方式是这样的:
var mydict = [
{
words: ['go','walk','run','sprint','move'],
task: 'move'
},
{
words: ['eat','consume'],
task: 'eat'
}
];
然后迭代它并检查您的输入命令是否在任何对象中。 words
数组。
答案 1 :(得分:1)
您可以在单独的JS文件中使用对象。
什么是JavaScript对象? JavaScript对象是键/值对的集合。我强烈建议你学习JavaScript对象,因为在JavaScript中几乎所有东西都是对象。
一个简单的对象如下所示:
var myCommads = {
"go":"go",
"walk":"go",
"run":"go",
"march":"go"
}
对象是基于键值的。您可以通过匹配的密钥访问这些值。
myObject['walk']
会给你字符串" go"。
让我们说用户输入一个命令:
var command = prompt("Please give your command", "");
现在检查命令是否在您的对象中:
if(typeof myCommands[command] == "undefined"){
alert("Invalid command");
}
else{
var realCommand = myCommands[command];
//now do what you want with the command, saved in the variable "realCommand"
}
我意识到对于没有JavaScript经验的人来说,我可能会提供太多信息,但要详细解释所有这些,我需要更多时间,并且需要写出更长的答案。
完全理解我的答案的最好方法是阅读一些教程:
提示功能:JS prompt
警报功能:JS Alert
JavaScript对象:JS Objects