/ benchmark / GeneticBot.java
GeneticBot.java
 1  import hlt.*;
 2  import pep.*;
 3  
 4  public class GeneticBot {
 5  
 6      private static boolean isEvolving = false;
 7  
 8      public static void main(final String[] args) {
 9          Game game = new Game();
10  
11          if (args.length == 1) {
12              isEvolving = Integer.parseInt(args[0]) == 1;
13          }
14          Parameters.evolvedDefaults();
15          if (isEvolving){
16              Parameters.populateFromXML();
17          }
18  
19          game.ready("GeneticBot");
20          Log.log("Successfully created bot! My Player ID is " + game.myId + ".");
21  
22          for (;;) {
23              game.updateFrame();
24              if (isEvolving){
25                  if (game.turnNumber == 1) {
26                      Parameters.saveInitialState(game);
27                  } else if (game.turnNumber == Constants.MAX_TURNS){
28                      Parameters.writeFitness(game);
29                  }
30              }
31              BehaviorManager.updateBehaviors(game);
32              CommandManager.updateCommands(game);
33              writePerfomance(game);
34              // CommandManager.logCommands();
35              game.endTurn(CommandManager.getCommands());
36          }
37      }
38  
39      private static void writePerfomance(Game game){
40          if (game.turnNumber == Constants.MAX_TURNS - 1){
41              String bankHalite = Integer.toString(game.me.halite - 4000);
42              TextLogger.writeLine("genetic.txt", bankHalite);
43          }
44      }
45  }
46