Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- double val;
- for(int i=0; i<hiddenLayer.getNodes().size(); i++) { // Propagate from input to hidden
- val = 0.0;
- for(int j=0; j<inputLayer.getNodes().size(); j++) {
- val += inputLayer.getNodes().get(j).getValue() * inputLayer.getNodes().get(j).getWeight(i);
- }
- if(Map.SIGMOID_VALS) val = sigmoid(val); // Hidden layer values go through sigmoid function
- else if(Map.NORMALIZE_VALS) {
- val /= inputLayer.getNodes().size() * Map.EVOLUTION_LIMIT;
- }
- hiddenLayer.getNodes().get(i).setValue(val);
- }
- // ...
- switch(i) { // Act
- case 0: // Increase red
- creature.setEnergy(creature.getEnergy()-ENERGY_USE_COL_CHANGE);
- r += random.nextInt(10)+20;
- if(r>CREATURE_MAX_RED) r=CREATURE_MAX_RED;
- creatureColor = new Color(r,g,b);
- creature.setColor(creatureColor);
- grid[x][y].setcolfg(creatureColor);
- break;
- case 1: // Decrease red
- creature.setEnergy(creature.getEnergy()-ENERGY_USE_COL_CHANGE);
- r -= random.nextInt(10)+20;
- if(r<CREATURE_MIN_RED) r=CREATURE_MIN_RED;
- creatureColor = new Color(r,g,b);
- creature.setColor(creatureColor);
- grid[x][y].setcolfg(creatureColor);
- break;
- // ...
- case 6: // Turn left
- creature.setEnergy(creature.getEnergy()-ENERGY_USE_TURN);
- facing--;
- if(facing<0) facing = 3;
- creature.setFacing(facing);
- drawFacingArrow(x,y,facing);
- break;
- case 7: // Turn right
- creature.setEnergy(creature.getEnergy()-ENERGY_USE_TURN);
- facing++;
- if(facing>3) facing = 0;
- creature.setFacing(facing);
- drawFacingArrow(x,y,facing);
- break;
- // ...
- case 9: // Eat
- creature.setEnergy(creature.getEnergy()-ENERGY_USE_EAT);
- int grass = grid[x][y].getcolbg().getGreen();
- creature.setEnergy(creature.getEnergy()+(ENERGY_GAIN_EAT*Math.min(grass,BITE_SIZE)));
- grass -= BITE_SIZE;
- if(grass<0) grass=0;
- grid[x][y].setcolbg(new Color(0,grass,0));
- break;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement