在Java上需要帮助的命令模式

时间:2019-07-24 20:29:07

标签: java command-pattern

实体的清单具有从0开始的getInventoryLength()插槽,每个插槽只能包含一个项目。实体应选择索引最少的插槽中的项目(插槽内没有任何内容的插槽为空)。如果实体的所有插槽都装有某种物品,则该实体不应选择该物品作为其库存。

如何在CommandPickItem中编写execute()来解决任务(我只需要这个)?

https://hyperskill.org/learn/step/5160

interface Movable {
    int getX();
    int getY();
    void setX(int newX);
    void setY(int newY);
}

interface Storable {
    int getInventoryLength();
    String getInventoryItem(int index);
    void setInventoryItem(int index, String item);
}

interface Command {
    void execute();
    void undo();
}

class CommandMove implements Command {
    Movable entity;
    int xMovement;
    int yMovement;

    public void execute(){
        entity.setX(xMovement);
        entity.setY(yMovement);
    }
    public void undo(){
        xMovement=entity.getX();
        yMovement=entity.getY();
    }
}

class CommandPickItem implements Command {
    Storable entity;
    String item;



    public void execute(){

        entity.setInventoryItem(int index);

    }
    public void undo(){

        item=entity.getInventoryItem(int index, String item);

    }

}

0 个答案:

没有答案