我有一个课程项目 并创建多个对象(树,电视,书等) 在课堂上游戏
// Create the items
tree = new Item("tree", "I big green tree", 60);
coat = new Item("coat", "I white coat", 5);
paper = new Item("paper", "a role of wc paper", 1);
现在玩家(也是玩家类)必须保存一些物品。 玩家可以通过输入以下内容来获取此项目:get book,其中book是String secondWord。
现在我需要一个可以获得的类Game中的函数 一个字符串的对象。
例如;
玩家进入拿书。
player1.takeItem(Item secondWord);
并且在类播放器中我有这个函数takeItem()
/**
* Method to take item
* and add them to the ArrayList carriedItems
* @param secondCommandWord is the second word command
* Ex: take book -> book is then command
*/
public void takeItem(Item secondCommandWord)
{
// Add new item to carried list
carriedItems.add(secondCommandWord);
}
但这不起作用。希望你能帮帮我
答案 0 :(得分:1)
我认为你的班级Item
看起来像这样:
public class Item {
private String kind;
private String description;
private int price;
public Item(String kind, String description, int price) {
this.kind = kind;
this.description = description;
this.price = price;
}
...
}
然后,在Item
类中,您可以简单地创建一个方法,将该项的类型作为String返回。
public String getKind() {
return this.kind;
}
我猜你有一个所有项目的清单。然后,您可以使用getItem(String)
轻松地从列表中获取项目,该项目将返回所需的项目。
private List<Item> items = new ArrayList<Item>() {{
add(new Item("tree", "I big green tree", 60));
add(new Item("coat", "I white coat", 5));
add(new Item("paper", "a role of wc paper", 1));
}};
public Item getItem(String itemName) {
for (Item item : this.items) {
if (item.getKind().equals(itemName)) {
return item;
}
}
return null;
}