agentnostationmessagemanager.java

来自「2004年robotcup世界冠军源代码」· Java 代码 · 共 75 行

JAVA
75
字号
package MRL.Utilities.MessageManagement;import yab.agent.DisasterSpace;import yab.agent.object.AmbulanceTeam;import yab.agent.object.FireBrigade;import yab.agent.object.PoliceForce;import yab.agent.object.RealObject;import yab.io.RCRSSProtocolSocket;/** * Message Manager for SBCe_Saviour 2006 * by Maryam Kalantary * **/public class AgentNoStationMessageManager extends AgentMessageManager{    private int agentCount;    private int myIndex;    private int waitCycles;    public AgentNoStationMessageManager(RCRSSProtocolSocket socket, DisasterSpace world)    {        super(socket, world);        agentCount = myIndex = -1;        if (world.self instanceof FireBrigade)        {            agentCount = world.fireBrigades.size();            myIndex = world.fireBrigades.indexOf(world.self);        }        else if (world.self instanceof AmbulanceTeam)        {            agentCount = world.ambulanceTeams.size();            myIndex = world.fireBrigades.indexOf(world.self);        }        else if (world.self instanceof PoliceForce)        {            agentCount = world.policeForces.size();            myIndex = world.fireBrigades.indexOf(world.self);        }        else        {            ;        }        //;//System.out.println ("\nASSERTION IN AGENTNOSTATIONMESSAGEMANAGER CONSTRUCTOR\n");        waitCycles = ((agentCount - 1) / 4) + ((agentCount - 1) % 4 != 0 ? 1 : 0);        //log ("\n === NO STATION === \n");        //log ("MessageManager Constructor : id = " + world.self.id + " agentCount = " + agentCount + " myIndex = " + myIndex + " waitCycles = " + waitCycles + "\n");    }    public void sendMessages()    {        if (world.time() % waitCycles == myIndex % waitCycles)        {            sendMessages(AGENT_MSG_COUNT - 1, messagesToCenters);        }        else        {            clearForNextCycle();        }    }    public void importMessage(byte[] message, int time, RealObject sender)    {        if (sender == world.self)        {            return;        }        parseMessage(message, time, sender, false);    }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?