mistamadd001

main

Aug 16th, 2015
253
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. var harvestBot = require('harvester');
  2. var buildBot = require('builder');
  3. var guardBot = require('guard');
  4. var collectBot = require('collector');
  5. var chargeBot = require('charger');
  6. var healBot = require('healer');
  7. var createBot = require('creator');
  8. var libs = require('simpleGenerator')
  9.  
  10. var alpha = Game.spawns.Alpha;
  11.  
  12. if(Memory.bots == undefined){
  13.     Memory.bots = [];
  14. }
  15. if(Memory.bots['harvester'] == undefined){
  16.     Memory.bots['harvester'] = [];
  17. }
  18.  
  19. if(Memory.bots['collector'] == undefined){
  20.     Memory.bots['collector'] = [];
  21. }
  22. if(Memory.bots['builder'] == undefined){
  23.     Memory.bots['builder'] = [];
  24. }
  25. if(Memory.bots['charger'] == undefined){
  26.     Memory.bots['charger'] = [];
  27. }
  28. if(Memory.bots['healer'] == undefined){
  29.     Memory.bots['healer'] = [];
  30. }
  31. if(Memory.bots['guard'] == undefined){
  32.     Memory.bots['guard'] = [];
  33. }
  34.  
  35. var energy = alpha.room.energyAvailable;
  36.  
  37. var roles = {
  38.     harvester: harvestBot,
  39.     builder: buildBot,
  40.     guard: guardBot,
  41.     collector: collectBot,
  42.     charger: chargeBot,
  43.     healer: healBot
  44. }
  45. var types = [
  46.     'harvester',
  47.     'collector',
  48.     'builder',
  49.     'charger',
  50.     'healer',
  51.     'guard'
  52. ]
  53. Memory.energyAvail = alpha.room.energyCapacityAvailable;
  54. var time = Game.getUsedCpu();
  55. if(Memory.sources == undefined){
  56.     Memory.sources = alpha.room.find(FIND_SOURCES);
  57. }
  58. for(var i = 0, j = 1; i< 2; i++, j--){
  59.     var id = Memory.sources[i].id;
  60.     if(Memory.bots['harvester'].indexOf(id) < 0 && energy >= 250){
  61.         console.log(true)
  62.         Memory.bots['harvester'].push(alpha.createCreep(createBot['harvester'](energy),id,{role: 'harvester', source: id}));
  63.     }
  64.     if(Memory.bots['harvester'].length > 0){
  65.         console.log(Memory.bots['harvester'])
  66.         if(Memory.bots['collector'].length < 2){
  67.             if(Memory.bots['harvester'].indexOf(id) >= 0){
  68.                 id = sources[j].id
  69.             }
  70.             Memory.bots['collector'].push(alpha.createCreep(createBot['collector'](energy),libs.simpleGenerator(),{role: 'collector', harvester: id}));
  71.         }
  72.     }
  73.     if(Game.getUsedCpu() - time >= 5){
  74.         console.log("The ai spent " + (Game.getUsedCpu() - time) + " ms building harvesters and collectors"); // Benchmark
  75.     }
  76. }
  77. time = Game.getUsedCpu();
  78. if(Memory.bots['collector'].length >= 20){
  79.     if(Memory.bots['builder'].length <= 3 && energy > 200){
  80.         Memory.builders.push(alpha.createCreep(createBot['builder'](energy),libs.simpleGenerator(),{role: 'builder'}));
  81.         if(Game.getUsedCpu() - time >= 5){
  82.             console.log("The ai spent " + (Game.getUsedCpu() - time) + " ms building builders"); // Benchmark
  83.         }
  84.     }
  85. }
  86. time = Game.getUsedCpu();
  87. if(Memory.bots['builder'].length > 1){
  88.     if(Memory.bots['charger'].length < 2 && energy > 300){
  89.         Memory.bots['charger'].push(alpha.createCreep(createBot['charger'](energy),libs.simpleGenerator(),{role: 'charger'}));
  90.         if(Game.getUsedCpu() - time >= 5){
  91.             console.log("The ai spent " + (Game.getUsedCpu() - time) + " ms building chargers"); // Benchmark
  92.         }
  93.     }
  94. }
  95. time = Game.getUsedCpu();
  96. if(Memory.bots['charger'].length > 1){
  97.     if(Memory.bots['healer'].length < 1 && energy > 100){
  98.         Memory.bots['healer'].push(alpha.createCreep(createBot['healer'](energy),libs.simpleGenerator(),{role: 'healer'}));
  99.     }
  100.     if(Game.getUsedCpu() - time >= 5){
  101.         console.log("The ai spent " + (Game.getUsedCpu() - time) + " ms building healers"); // Benchmark
  102.     }
  103. }
  104. time = Game.getUsedCpu();
  105. if(Memory.bots['healer'].length > 0){
  106.     if(Memory.bots['guard'].length < 2 && energy > 350){
  107.         Memory.bots['guard'].push(alpha.createCreep(createBot['guard'](energy),libs.simpleGenerator(),{role: 'guard'}));
  108.     }
  109.     if(Game.getUsedCpu() - time >= 5){
  110.         console.log("The ai spent " + (Game.getUsedCpu() - time) + " ms building guards"); // Benchmark
  111.     }
  112. }
  113. for(var i in Memory.bots){
  114.     for(var j in Memory.bots[types[i]]){
  115.         console.log(types[i]+': '+Memory.bots[types[i]][j]);
  116.     }
  117. }
  118. // VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
  119. for(var name in Game.creeps){
  120.     var creep = Game.creeps[name];
  121.     var time = Game.getUsedCpu(); // Benchmark
  122.  
  123.     // Current code
  124.     if (typeof roles[creep.memory.role] === "function") {
  125.         var role = creep.memory.role;
  126.         if(Memory.bots[role] == undefined){
  127.             Memory.bots[role] = [];
  128.             Memory.bots[role].push(creep.name);
  129.         }
  130.         if(creep.ticksToLive < 2){
  131.             var role = creep.memory.role;
  132.             Memory.bots[role].splice(1, creep.name)
  133.         }
  134.         console.log(Memory.bots[role]);
  135.         //creep.suicide()
  136.         roles[creep.memory.role](creep);
  137.         if(Game.getUsedCpu() - time >= 5){
  138.             console.log("The ai spent " + (Game.getUsedCpu() - time) + " ms quality time with creep " + creep.name); // Benchmark
  139.         }
  140.     } else {
  141.         console.log("Unknown role: " + creep.memory.role);
  142.     }
  143. /*
  144.     continue; // Lets not execute future code for now
  145.  
  146.     // Future code
  147.     if (roles[creep.memory.role] === undefined) {
  148.         console.log("Unknown role: " + creep.memory.role);
  149.         continue;
  150.     }
  151.  
  152.     if (typeof roles[creep.memory.role].turn === "function") {
  153.         roles[creep.memory.role].turn(creep);
  154.     } else {
  155.         console.log("No turn function for role " + creep.memory.role);
  156.     }*/
  157. }
Advertisement
Add Comment
Please, Sign In to add comment