⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 policeforceagent.java

📁 机器人设计的Java源程序,提供给大家参考参考
💻 JAVA
字号:
// Copyright (C) 2002 Takeshi Morimoto <morimoto@takopen.cs.uec.ac.jp>// All rights reserved.package sample;import java.net.*;import java.util.*;import yab.agent.*;import yab.agent.object.*;public class PoliceForceAgent extends AbstractPoliceForceAgent {    public PoliceForceAgent(InetAddress address, int port)     {        super(address, port);    }    private ArrayList m_reportedBlockades = new ArrayList();    protected static final Condition HAS_NOT_BEEN_SEEN_CND        = Property.get("RealObject", "hasBeenSeen").equal(Boolean.FALSE);    protected void act() throws ActionCommandException //动作执行函数(最主要的函数)    {        clearHere();        moveReportedBlockades();        searchBlockades();    }    protected void clearHere() throws ActionCommandException     {        MotionlessObject pos = self().motionlessPosition();        if (!(pos instanceof Road))            return;        Road road = (Road) pos;        if (road.passableLines() == 0)            clear(road);    }        protected void moveReportedBlockades() throws ActionCommandException     {        correctReportedBlockade();        if (!m_reportedBlockades.isEmpty())            move(m_reportedBlockades);    }    protected void correctReportedBlockade()     {        for (Iterator it = m_reportedBlockades.iterator();  it.hasNext();  )         {            Road road = (Road) it.next();            if (road.hasBeenSeen()  &&  road.passableLines() > 0)                it.remove();        }    }    protected void searchBlockades() throws ActionCommandException     {        List uncheckedRoads = HAS_NOT_BEEN_SEEN_CND.extract(world.roads);        if (!uncheckedRoads.isEmpty())            move(uncheckedRoads);    }   	protected void hearTell(RealObject sender, int channelId, String message) 	{         if (!(sender instanceof PoliceOffice))            return;        StringTokenizer st = new StringTokenizer(message);        String command = st.nextToken();        RealObject target = world.get(Integer.parseInt(st.nextToken()));        if (command.equals("clear"))            m_reportedBlockades.add(target);       // do nothing	}}

⌨️ 快捷键说明

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