实体的清单具有从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);
}
}