我如何获得机器人的RobotState?

时间:2013-09-04 09:32:20

标签: java robocode

您知道吗,我如何在Robocode中获得RobotState我的机器人?我想得到一个信息,例如,如果我的机器人是活动的,活着的,死的等等。在调试模式下可以看到该信息,但我怎样才能在我的代码中得到这个?

enter image description here

1 个答案:

答案 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);
}

您可以在此界面中查看更多事件方法: