48 virtual void defend(
int power)=0;
59 virtual void move(
int steps,
Direction way)=0;
66 virtual void pick_up_capsule(
GridCell& adjacent_cell)=0;
73 virtual void drop_capsule(
GridCell& adjacent_cell,
int power_of_capsule)=0;
89 virtual GridCell* getBuildTarget()=0;
93 virtual int getInvestedBuildPower()=0;
131 virtual void setBuildTarget(
BuildStatus status,
GridCell* location, vector<uint8_t> message)=0;
137 virtual void build(
int power)=0;
143 virtual void repair(
int power)=0;
150 virtual void charge(
int power,
GridCell& ally)=0;
171 virtual void sendMessage(vector<uint8_t> message,
int power)=0;
179 virtual vector<vector<GridCell> > getVisibleNeighborhood()=0;
189 virtual vector<vector<GridCell> > getWorld(
int power)=0;