Java中基于文本的冒险游戏资源清册系统
我正在用Java制作一个基于文本的冒险游戏。我需要给用户的能力,拿起项目,并把他们在一个清单,但我真的不知道如何 以下是我的项目当前的设置方式:Java中基于文本的冒险游戏资源清册系统,java,inventory,Java,Inventory,我正在用Java制作一个基于文本的冒险游戏。我需要给用户的能力,拿起项目,并把他们在一个清单,但我真的不知道如何 以下是我的项目当前的设置方式: Items item0 = new Items(0); item0.setName("Map"); Items item1 = new Items(1); item1.setName("Sword"); Items[] itemize = new Items[2]; itemize[0] = item0;
Items item0 = new Items(0);
item0.setName("Map");
Items item1 = new Items(1);
item1.setName("Sword");
Items[] itemize = new Items[2];
itemize[0] = item0;
itemize[1] = item1;
我需要能够有特定的项目在某些房间。有人有什么建议吗 Java爱好者!我正在发布一段代码,这段代码是我很快创建的,关于在文本冒险期间用Java跟踪玩家清单的能力。这类代码还有很多其他用途(正如专家们所知),但今天我决定帮助初学者,并发布这段代码,以便在遇到问题时进行评论和在文本冒险中使用。这不是关于如何进行文本冒险的教程,只是添加了一个库存函数。现在我们开始: 我们需要做的第一件事是导入必要的先决条件:
import java.util.ArrayList;
import java.util.List;
显然,扫描仪已经被导入。接下来,我们必须创建列表:
List<String> inv = new ArrayList<String>();
这是一个非常简单的“扫描输入”类代码。我想这不是什么新鲜事。现在是有趣的部分:
if (choice.equals("take axe")) {
System.out.println("You pick up the axe");
inv.add("axe");
你看到了吗?我们刚刚把斧头添加到玩家的库存中!就这么简单。我们现在可以使用以下方式显示库存:
System.out.println(inv);
完成了!现在用光一件物品。我将使用一个不同的例子,玩家选择了百事可乐:
System.out.println("You walk for awhile and start to become thirsty");
System.out.println(inv);
choice = scan.nextLine();
我们打印清单,让玩家知道什么是可用的。现在看这个:
if (choice.equals("drink")) {
if (inv.contains("pepsi")) {
System.out.println("You drink a can of pepsi");
inv.remove("pepsi");
没错!我们所做的就是使用remove函数。但现在让我们说,球员决定不采取百事可乐。我们将对前面的if语句进行“else if”:
if (inv.contains("pepsi")) {
System.out.println("You drank pepsi");
inv.remove("pepsi");
} else if (!inv.contains("pepsi")) {
System.out.println("You have nothing to drink!");
}
太棒了!我们所做的只是在条件语句前面加一个感叹号(意思是相反的)。如果您不明白,请查看下面的内容
不管怎样,很高兴我能帮助你(这是一个叫做简易库存的原因!)。如果你有任何问题,回答你想问的任何问题(即使我需要再做一个教程)。如果这对你没有用,请留下反馈(因为你已经知道你在做什么),并告诉我如何变得更好。谢谢 您需要将每组项存储在单独的数据结构中。或者,您可以为每个
项目
指定一个属性,该属性将指定其组,并且当显示某个组中的项目时,您将只考虑具有给定组的项目。您可以发布项目
代码吗?
if (inv.contains("pepsi")) {
System.out.println("You drank pepsi");
inv.remove("pepsi");
} else if (!inv.contains("pepsi")) {
System.out.println("You have nothing to drink!");
}