Advertisement
VincentOostelbos

Fragments EvoSim2016 code

Dec 24th, 2017
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.78 KB | None | 0 0
  1. double val;
  2. for(int i=0; i<hiddenLayer.getNodes().size(); i++) { // Propagate from input to hidden
  3.     val = 0.0;
  4.     for(int j=0; j<inputLayer.getNodes().size(); j++) {
  5.         val += inputLayer.getNodes().get(j).getValue() * inputLayer.getNodes().get(j).getWeight(i);
  6.     }
  7.     if(Map.SIGMOID_VALS) val = sigmoid(val); // Hidden layer values go through sigmoid function
  8.     else if(Map.NORMALIZE_VALS) {
  9.         val /= inputLayer.getNodes().size() * Map.EVOLUTION_LIMIT;
  10.     }
  11.     hiddenLayer.getNodes().get(i).setValue(val);
  12. }
  13.  
  14. // ...
  15.  
  16. switch(i) { // Act
  17. case 0: // Increase red
  18.     creature.setEnergy(creature.getEnergy()-ENERGY_USE_COL_CHANGE);
  19.     r += random.nextInt(10)+20;
  20.     if(r>CREATURE_MAX_RED) r=CREATURE_MAX_RED;
  21.     creatureColor = new Color(r,g,b);
  22.     creature.setColor(creatureColor);
  23.     grid[x][y].setcolfg(creatureColor);
  24.     break;
  25. case 1: // Decrease red
  26.     creature.setEnergy(creature.getEnergy()-ENERGY_USE_COL_CHANGE);
  27.     r -= random.nextInt(10)+20;
  28.     if(r<CREATURE_MIN_RED) r=CREATURE_MIN_RED;
  29.     creatureColor = new Color(r,g,b);
  30.     creature.setColor(creatureColor);
  31.     grid[x][y].setcolfg(creatureColor);
  32.     break;
  33. // ...
  34. case 6: // Turn left
  35.     creature.setEnergy(creature.getEnergy()-ENERGY_USE_TURN);
  36.     facing--;
  37.     if(facing<0) facing = 3;
  38.     creature.setFacing(facing);
  39.     drawFacingArrow(x,y,facing);
  40.     break;
  41. case 7: // Turn right
  42.     creature.setEnergy(creature.getEnergy()-ENERGY_USE_TURN);
  43.     facing++;
  44.     if(facing>3) facing = 0;
  45.     creature.setFacing(facing);
  46.     drawFacingArrow(x,y,facing);
  47.     break;
  48. // ...
  49. case 9: // Eat
  50.     creature.setEnergy(creature.getEnergy()-ENERGY_USE_EAT);
  51.     int grass = grid[x][y].getcolbg().getGreen();
  52.     creature.setEnergy(creature.getEnergy()+(ENERGY_GAIN_EAT*Math.min(grass,BITE_SIZE)));
  53.     grass -= BITE_SIZE;
  54.     if(grass<0) grass=0;
  55.     grid[x][y].setcolbg(new Color(0,grass,0));
  56.     break;
  57. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement