如果agent有不同的方法,我想要一个一个的呈现在仿真界面,然后在参数栏里实现下拉列表来展示不同的功能和地图,然后在主程序里也对应不用的方法来运行。
1.在仿真界面添加参数
2.填加参数
3.添加具体数据,Values里的数据一定要空格,才能实现下拉列表的形式
4.添加后展示
5.在 build函数里获取参数
String task = (String)p.getValue("task");
6.把获取到的任务参数字符串传给Agent的构造函数,作为自身的一个属性
new Ant(space, grid, i, xdim, ydim,initx,inity,task)
public Ant(ContinuousSpace<Object> space, Grid<Object> grid, int i, int xdim, int ydim, int initx, int inity,String task) {
this.space = space;
this.grid = grid;
this.Ant_ID = i; // Ant的id
this.xdim = xdim; // 仿真界面尺寸,用于解决边界问题
this.ydim = ydim;
this.homeX = initx;
this.homeY = inity;
this.task = task;
}
7.在主函数里做判断,来调用不用的逻辑函数
if(this.task.equals("search")) {
//寻找逻辑
}else if(this.task.equals("avoid")){
//避障逻辑
}
结语:通过这种方法,就可以实现展示单个的功能,对于单个功能的测试也是很有帮助,地图的分类也是一样的道理。