我将 ECJ 与 Java 一起使用。我有一群人,我都想拥有相同的大脑。
基本上,我想用 GP 进化大脑。我想要if 语句的“ if-on-enemy-territory
”和“ ”之类的东西,以及终端的 “ ”或“ ”或“ ”之类的东西。if-sense-target
go-home
move-randomly
shoot
但是,这些语句需要是完全可执行的 Java 代码。我怎么能用 ECJ 做到这一点?
例如:
我希望有一个名为“ moveRandom
”的终端。如果我要在我的士兵课程中编写这个代码,它看起来像:
private void moveRandomly(SoldierWorld world)
{
//..snip.
int newX = (int)(this.getLocation().x + speed * Math.cos(this.getDirection() * Math.PI / 180.0));
int newY = (int)(this.getLocation().y - speed * Math.sin(this.getDirection() * Math.PI / 180.0));
Point newPoint = new Point(newX, newY);
this.setLocation(newPoint);
}
现在我怎样才能制作一个将执行此代码的终端?