package jp.ac.fit.asura.nao.communication; //--------------------------------------------------------------------------------------- //File: RobotInfo.java (to be used in a Webots java controllers) //Date: February 26, 2009 //Description: This class is used to read a binary RobotInfo struct inside a // RoboCupGameControlData sent by nao_soccer_supervisor.c //Project: Robotstadium, the online robot soccer competition //Author: Yvan Bourquin - www.cyberbotics.com //--------------------------------------------------------------------------------------- import java.nio.ByteBuffer; public class RobotInfo { // penalties // public static final short PENALTY_NONE = 0; // public static final short PENALTY_ILLEGAL_DEFENDER = 4; // penalty public static final short PENALTY_NONE = 0; public static final byte PENALTY_BALL_HOLDING = 1; public static final byte PENALTY_PLAYER_PUSHING = 2; public static final byte PENALTY_OBSTRUCTION = 3; public static final byte PENALTY_INACTIVE_PLAYER = 4; public static final byte PENALTY_ILLEGAL_DEFENDER = 5; public static final byte PENALTY_LEAVING_THE_FIELD = 6; public static final byte PENALTY_PLAYING_WITH_HANDS = 7; public static final byte PENALTY_REQUEST_FOR_PICKUP = 8; private short penalty; // the penalty state of the robot private short secsTillUnpenalise; // estimated seconds till unpenalised public RobotInfo() { } public void readBytes(ByteBuffer buffer) { penalty = buffer.getShort(); secsTillUnpenalise = buffer.getShort(); } public short getPenalty() { return penalty; } public short getSecsTillUnpenalised() { return secsTillUnpenalise; } public void debug() { System.out.println(" penalty: " + penalty); System.out.println(" secsTillUnpenalise: " + secsTillUnpenalise); } }