文本冒险中的背包内容

Backpack Contents in Text Adventure

本文关键字:背包 冒险 文本      更新时间:2023-09-26

我目前正在进行一次文本冒险。我正在实现一个功能,如果你有某个物品,你可以在游戏中用它来换取提示。我只是很难弄清楚如何在背包里搜索物品,这样才能显示正确的提示。

以下是声明:

case "drift wood":
case "soda can":
    case "shell":
        case "fork":
if(mapLocation === 9)
{
    gameMessage = "Weren't there some loose planks in that sunken ship?";
    backpack.splice(backpackIndexNumber, 1);
}
else if(mapLocation === 9)
{
    gameMessage = "That trench sure was dark.";
    backpack.splice(backpackIndexNumber, 1);
}
else if(mapLocation === 9)
{
    gameMessage = "That loose sand on the beach sure looks like fun to dig into.";
    backpack.splice(backpackIndexNumber, 1);
}
else if(mapLocation === 9)
{
    gameMessage = "A treasure chest needs unlocking.";
    backpack.splice(backpackIndexNumber, 1);
}
break;

对于第一个if(mapLocation===9),我需要程序在背包中搜索撬棍,以获得"沉船里不是有一些松动的木板吗?"信息。

我的背包变量是:

var backpack = [];

如果你的背包数组只包含字符串"crowbar",那么你可以这样做:

hasCrowbar = backpack.indexOf("crowbar") > -1;

另一方面,如果你的背包里有这样的物体:

var backpackObj = [ 
    {
      item: "thing1",
      weight: 10
    }, 
    {
      item: "crowbar",
      weight: 20
    }
  ];

然后我会用lodash,然后像这样检查:

hasCrowbarObj = _.filter(backpackObj, function(b){
  return b.item === "crowbar";
}).length > 0;

这是一个jsfiddle:

https://jsfiddle.net/mckinleymedia/uf74d9sb/1/