对象先用java第6版zuul世界练习捡物品

tkclm6bt  于 2021-07-12  发布在  Java
关注(0)|答案(0)|浏览(205)

关闭。这个问题需要细节或清晰。它目前不接受答案。
**想改进这个问题吗?**通过编辑这个帖子来添加细节并澄清问题。

两天前关门了。
改进这个问题
所以我是一个完全的编码新手,我听说java通常不是一个入门的,但我在这里。。。
所以对于我的一个作业,我应该添加一些方法,允许我根据我所在的房间来“取”和“放”项目。到目前为止,一切都还算顺利。
我已经添加了我认为的所有代码,让播放器根据对象的当前位置拾取对象,但是当我运行它时,会得到一个nullpointerexception。所有涉及的代码将粘贴在下面,但简而言之,我做错了什么?

public boolean ableToTake(String itemName)

    {
        Item item = currentRoom.takeTheItem(itemName);

        if(item == null)
        {
            return false;
        }

        else if(!itemInHandAlr())
        {
            return true;
        }

        else
        {
            return false;
        }
    }
public void takeItem(String itemName)
    {
        if(ableToTake(itemName))
        {
            Item item = currentRoom.takeTheItem(itemName);
            setTakenItem(item);
            currentRoom.removeItem(item);
            System.out.println("You have picked up the item.");
        }

        else
        {
            if(itemInHandAlr())
            {
                System.out.println("You're already carrying this item.");
            }

            else
            {
                System.out.println("I don't think there's a/an " + itemName + " in here.");
            }
        }
    }
private void takeFromRoom(Command command)
    {
        if(!command.hasSecondWord())
        {
            System.out.println("This isn't an item you can take...");
        }

        String itemName = command.getSecondWord();
        player.takeItem(itemName);
    }
private boolean processCommand(Command command) 
    {
        boolean wantToQuit = false;

        if(command.isUnknown()) {
            System.out.println("I don't know what you mean...");
            return false;
        }

        String commandWord = command.getCommandWord();
        if (commandWord.equals("help")) {
            printHelp();
        }
        else if (commandWord.equals("go")) {
            goRoom(command);
        }
        else if (commandWord.equals("look")) {
            look();
        }
        else if (commandWord.equals("take")) {
            takeFromRoom(command);
        }
        else if (commandWord.equals("drop")) {
            dropItemCarrying(command);
        }
        else if (commandWord.equals("quit")) {
            wantToQuit = quit(command);
        }
        else if(commandWord.equals("back")) {
            goBackRoom();
        }
        // else command not recognised.
        return wantToQuit;
    }

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题