System.out.println("Antrieb: " + agent.getActuatorWerte()[0] *80 + " / Drehung: " + agent.getActuatorWerte()[1] * 0.3);
}*/
if(!lebend) {
DomPhysSparseNet netAlt = agent.getBrain().getNet();
double minAbstand = agent.getMinAbstand();
double maxAbstand = agent.getMaxAbstand();
int geburt = agent.getGeburt();
netPop.add(netAlt, fitness, minAbstand, maxAbstand, geburt);
//System.out.println("Jetzt hinzufuegen: " + new DominikEncoding1().encode(hirn));
env.removeAgent(l);
// mutiertes Hirn
DomPhysSparseNet netNeu = (DomPhysSparseNet) this.randVerteilung(netPop.getNetze(), netPop.getFitnesswerte(), env.getRand());
DomPhysSparseNet mutNetNeu = netNeu.createMutatedOffspring(i, rand);
DomPhysNeuroBrain hirnNeu = new DomPhysNeuroBrain(agent, i, env.getRand(), mutNetNeu);
agent.implantBrain(hirnNeu);
//Erkennung
//if(i == 1131) {
//agent.setAgentShapeBIG();
//System.out.println(l);
//}
/*if(l == 37) {
System.out.println("1. X: " + agent.getForce().getX() + "Y: " + agent.getForce().getY() +" ROTATION: " +agent.getRotation()+ " Antrieb: " + agent.getActuatorWerte()[0] + " Drehung: " + agent.getActuatorWerte()[1]);
System.out.println("2. X: " + agent.getVelocity().getX() + "Y: " + agent.getVelocity().getY()+ "WINKELGESCHW: " + agent.getAngularVelocity() + "ID: " + agent.getID());
}*/
int runde = ((int) simZyk.getCurrentTime());
agent.reset(runde);
i++;
Vector2D startPosition = startPositionen.get(l - 1);
double startWinkel = this.generiereStartWinkel(startPosition);
env.addAgent(agent, startPosition, startWinkel);
// für Versuch 110707.4
float y = (float) Math.cos(startWinkel) * -50;
float x = (float) Math.sin(startWinkel) * 50;
//agent.adjustVelocity(new Vector2f(x,y));
/*if(l == 37) {
System.out.println("3. X: " + agent.getForce().getX() + "Y: " + agent.getForce().getY() +" ROTATION: " +agent.getRotation()+ " Antrieb: " + agent.getActuatorWerte()[0] + " Drehung: " + agent.getActuatorWerte()[1]);
System.out.println("4. X: " + agent.getVelocity().getX() + "Y: " + agent.getVelocity().getY()+ "WINKELGESCHW: " + agent.getAngularVelocity() + "ID: " + agent.getID());
System.out.println("Antrieb: " + agent.getActuatorWerte()[0] *80);
System.out.println("Drehung: " + agent.getActuatorWerte()[1] * 0.3);
}*/
}
}
if((simZyk.getCurrentTime() % 1000 == 0)) {
//Zwischenspeichern noch lebenden
for (int l = 1; l < popSize + 1; l++) {
DomPhysAgent agent = (DomPhysAgent) env.getAgent(l);
DomPhysSparseNet hirn = agent.getBrain().getNet();
int fitness = agent.getEvaluationInt();
double minAbstand = agent.getMinAbstand();
double maxAbstand = agent.getMaxAbstand();
int geburt = agent.getGeburt();
netPop.addZwischen(hirn, fitness, minAbstand, maxAbstand, geburt);