您知道吗,我如何在Robocode中获得RobotState我的机器人?我想得到一个信息,例如,如果我的机器人是活动的,活着的,死的等等。在调试模式下可以看到该信息,但我怎样才能在我的代码中得到这个?
答案 0 :(得分:0)
枚举RobotState仅用于RoboCode的核心。您的机器人没有getState()
方法。 (我挖掘了source code)
然而:你可以通过其他方式获得所有论点:
如果您的机器人正在撞墙,则会触发HitWall事件。您可以通过覆盖机器人类中的方法来处理这些事件:
@Override
public void onHitWall(HitWallEvent e)
{
//your code
}
与击中机器人相同:
@Override
public void onHitRobot(HitRobotEvent e)
{
//your code
}
如果你的机器人死了:
@Override
public void onRobotDeath(RobotDeathEvent event)
{
//salute your warrior
//your code
}
如果它还活着,它仍然应该在你的run方法中循环:
@Override
public void run() {
do {
//here you do the normal stuff a robot does
} while(true);
}
您可以在此界面中查看更多事件方法: