1

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

在此处输入图像描述

4

1 回答 1

0

枚举 RobotState 仅在 RoboCode 的核心中使用。你的机器人没有getState()方法。(我挖掘了源代码

但是:您可以通过其他方式获得所有这些状态:

如果您的机器人正在撞墙,则会触发 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
}

如果它还活着,它仍然应该在你的运行方法中循环:

@Override
public void run() {
    do {
         //here you do the normal stuff a robot does
    } while(true);
}

您可以在此接口中查看更多事件方法:

于 2013-09-26T18:58:00.873 回答