阅读导入包的内容

时间:2014-05-26 19:40:07

标签: java

我正致力于使用Java为游戏创建计算机控制的机器人。我有一个示例机器人程序,我目前正在理解这一点。

我无法理解@JProp在下面的代码中的含义。谁可以帮我这个事。另外,如何在程序开头查看导入文件的所有内容。

package com.mycompany.mavenproject1;

import cz.cuni.amis.introspection.java.JProp;
import cz.cuni.amis.pogamut.base.agent.impl.AgentId;
import cz.cuni.amis.pogamut.base.agent.module.comm.PogamutJVMComm;
import cz.cuni.amis.pogamut.base.agent.navigation.IPathExecutorState;
import cz.cuni.amis.pogamut.base.communication.worldview.listener.annotation.EventListener;
import cz.cuni.amis.pogamut.base.utils.guice.AgentScoped;
import cz.cuni.amis.pogamut.base3d.worldview.object.ILocated;
import cz.cuni.amis.pogamut.base3d.worldview.object.Location;
import cz.cuni.amis.pogamut.unreal.communication.messages.UnrealId;
import cz.cuni.amis.pogamut.ut2004.agent.module.utils.TabooSet;
import cz.cuni.amis.pogamut.ut2004.agent.navigation.UT2004PathAutoFixer;
import cz.cuni.amis.pogamut.ut2004.agent.navigation.stuckdetector.UT2004DistanceStuckDetector;
import cz.cuni.amis.pogamut.ut2004.agent.navigation.stuckdetector.UT2004PositionStuckDetector;
import cz.cuni.amis.pogamut.ut2004.agent.navigation.stuckdetector.UT2004TimeStuckDetector;
import cz.cuni.amis.pogamut.ut2004.bot.impl.UT2004Bot;
import cz.cuni.amis.pogamut.ut2004.bot.impl.UT2004BotModuleController;
import cz.cuni.amis.pogamut.ut2004.bot.params.UT2004BotParameters;
import cz.cuni.amis.pogamut.ut2004.communication.messages.UT2004ItemType;
import cz.cuni.amis.pogamut.ut2004.communication.messages.gbcommands.Initialize;
import cz.cuni.amis.pogamut.ut2004.communication.messages.gbinfomessages.BotKilled;
import cz.cuni.amis.pogamut.ut2004.communication.messages.gbinfomessages.ConfigChange;
import cz.cuni.amis.pogamut.ut2004.communication.messages.gbinfomessages.FlagInfo;
import cz.cuni.amis.pogamut.ut2004.communication.messages.gbinfomessages.GameInfo;
import cz.cuni.amis.pogamut.ut2004.communication.messages.gbinfomessages.InitedMessage;
import cz.cuni.amis.pogamut.ut2004.communication.messages.gbinfomessages.Item;
import cz.cuni.amis.pogamut.ut2004.communication.messages.gbinfomessages.NavPoint;
import cz.cuni.amis.pogamut.ut2004.communication.messages.gbinfomessages.Player;
import cz.cuni.amis.pogamut.ut2004.communication.messages.gbinfomessages.PlayerKilled;
import cz.cuni.amis.pogamut.ut2004.communication.messages.gbinfomessages.Self;
import cz.cuni.amis.pogamut.ut2004.utils.UT2004BotRunner;
import cz.cuni.amis.utils.Heatup;
import cz.cuni.amis.utils.exception.PogamutException;
import cz.cuni.amis.utils.flag.FlagListener;

/**
 * Example of Simple Pogamut bot, that randomly walks around the map searching
 * for preys shooting at everything that is in its way.
 * 
 * @author Rudolf Kadlec aka ik
 * @author Jimmy
 */
@AgentScoped
public class CTFBot extends UT2004BotModuleController<UT2004Bot> {

    /** boolean switch to activate engage behavior */
    @JProp
    public boolean shouldEngage = true;

    /** boolean switch to activate pursue behavior */

1 个答案:

答案 0 :(得分:1)

似乎这个JProp注释用于内省目的(允许从IDE中轻松检查装饰变量的内容)。

引用this manual

  

Introspection旨在简化机器人的参数化。它是   经常需要在运行时调整多个行为参数   可能最终会创建自己的GUI(图形用户界面)   以此目的。在内省中,您只需注释所需的内容   带有@JProp注释的变量,它们可以通过   Netbeans GUI。

     

让我们看一下EmptyBot示例中的日志记录和内省是如何工作的。   首先启动机器人(F6),然后查看它的源代码。在里面   初始部分用@JProp注释的几个变量是   定义

@JProp
public String stringProp = "Hello bot example";
@JProp
public boolean boolProp = true;
@JProp
public int intProp = 2;
@JProp
public double doubleProp = 1.0;
  

现在,在UT服务器节点下(在“服务”选项卡中)展开bot的节点   将看到两个新节点 - Logs和Introspection。选择后   Introspection节点注释变量将显示在   属性(Ctrl + Shift + 7)窗口。注意intProp变量   正在不断更新。还可以设置新的变量值   在这个窗口中。