for (lastCreated = 0; lastCreated < params.getInitNAgentsPainter(); lastCreated++) {
short i = 0;
short j = 0;
Color c = ColorFunctions.getPainterColorById(lastCreated, params.getInitNAgentsPainter(), params.getColorInUse());
int speed = (int) (Math.random() * 10 + 1);
DNAparameters dnaParams = new DNAparameters(AgentConstants.PAINTER, c, 0, speed);
boolean success;
do {
i = (short) (Math.random() * params.getCols());
j = (short) (Math.random() * params.getRows());
success = worlds.get(params.getIdWorld()).getCell(i, j).setOccupied(AgentConstants.PAINTER, true, -1);
} while (!success);
short id = worlds.get(params.getIdWorld()).getNextAgentId(progenitor);
generatePainter(params.getIdWorld(), worlds.get(params.getIdWorld()).getCell(i, j), dnaParams, id, progenitor);
progenitor++;
}
int tracerCounter;
for (tracerCounter = 0; tracerCounter < params.getInitNAgentsTracer(); tracerCounter++) {
lastCreated++;
short i = 0;
short j = 0;
short divisor = (short) (params.getInitNAgentsTracer() * 7 * EnvironmentConstants.N_WORLDS_DEF);
int mapDimension = params.getCols() * params.getRows();
if (mapDimension < 20000) {
mapDimension = 20000;
}
int lifeLenght = (int) (Math.random() * mapDimension / divisor);
int speed = (int) (Math.random() * 10 + 1);
DNAparameters dnaParams = new DNAparameters(AgentConstants.TRACER, UserGuiParams.RESOURCE_COLOR, lifeLenght, speed);
boolean success;
do {
i = (short) (Math.random() * params.getCols());
j = (short) (Math.random() * params.getRows());
success = worlds.get(params.getIdWorld()).getCell(i, j).setOccupied(AgentConstants.TRACER, true, -1);