游戏术语词典

时间:2015-01-17 22:42:47

标签: javascript dictionary

我对javascript很陌生,但我正在开发基于文本的RPG游戏。我试图找出如何制作它,以便用户输入'去'或者' walk'或者'运行'或者'行军'或类似的东西,它将运行相同的命令...而不是仅仅使用'或者'做一堆检查,我更喜欢在单独的文件,我可以检查并返回一个术语。我该怎么做呢?我可以使用常规数组吗?如果是这样我如何在javascript中搜索?

我希望得到像

这样的东西
dictionary:
    ["go"]:["go"];
    ["walk"]:["go"];
    ["run"]:["go"];
    ["march"]:["go"];

我也意识到我可能会以完全错误的方式解决这个问题,所以如果你有任何提示,他们会非常欢迎。

2 个答案:

答案 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